1. 课程的安排介绍
一张图片到底占多大的内存?
1. 还是要看大家所花的一个时间消化,1-3 年多看看视频,3年以上 多看看书自己多研究源码
2. 能够讲多少 (多花一些时间,精讲讲透不讲细),讲得怎样?
整个系统架构的课程安排 (40次 , 4个月左右,周六日晚上八点,时间 2 个半小时左右)
1-20 主讲设计模式
21-27 主讲热门第三方框架 RXJava EventBus Retorfit OKhttp ..... ,基本使用,分析源码,手写核心部分(设计模式)
28-31 主讲开发模式 MVC MVP(重点) MVVM
32-40 主讲实战
主体大纲一个一个走,中间会有稍许调整,次数不会变,内容也是98%不会变。
Retorfit + OKhttp + RXJava 1000star 以上
讲课思想 :基础模式 理论 + 实践(重点) , 学习是不能停,利他(站在使用者)
2.面向对象的六大基本原则
在内涵段子项目讲过,授人以鱼不如授人以渔,
第一个点,写代码过后需求更改你要改多个地方,证明你的代码是有问题的。
网络上更加注重的是一个框架封装(90%)OKhttp Retrofit xUtils volley , 多个很强大(不强大),根据思路可以写强大
simple 1 的问题
simple 2 和 simple3 的代码:只是把一些公共的逻辑写成了一个工具类,能够解决掉一些问题 ,但是问题还是很多 ,没有扩展性可言,代码全部挤到一堆
代码全部挤到一堆?
2.1 单一职责原则:
英文:Single Responsibility Principle
定义:就一个类而言,应该仅有一个引起它变化的原因。简单来说,一个类中应该是一组相关性很高的函数、数据的封装。
请求和缓存完全写到了一堆
小插曲:链式调用,调用方式有问题 ,比如 超时重连,超时时间 ,支持cookie 等等,更多的是关注业务逻辑
问题? xUtils Okhttp Retrofit ...... 切换第三方的网络框架
2.2 开闭原则:
英文:Open Close Principle
定义:软件中的对象(类、模块、函数等)应该对于扩展是开放的,但是,对于修改是封闭(关闭)的。
当软件需要变化时,应该尽量通过扩展的方式来实现变化,而不是通过修改已有的代码来实现。
2.3 里氏替换原则:
英文:Liskov Substitution Principle
定义:只要父类能出现的地方子类就可以出现,主要体现就是实现和继承
2.4 依赖倒置原则:
英文:Dependence Inversion Principle
定义:指代了一种特定的解耦形式,高层模块不依赖低层次模块的细节,说白了高层次就是不依赖细节而是依赖抽象。
高层和底层,HttpUtils 1 IHttpRequest 2 OKHttpRequest 3 XutilsHttpRequest 4 高层 1 2 底层 3 4
2.5 接口隔离原则:
英文:Interface Segregation Principle
定义:类间的依赖关系应该建立在最小的接口上。接口隔离原则将非常庞大、臃肿的接口拆分成为更小的和更具体的接口,这样客户将会只需要知道他们感兴趣的方法。接口隔离原则的目的是系统解开耦合,从而容易重构、更改和重新部署,让客户端依赖的接口尽可能地小。(接口拆分,单接口)
上面的这个五个原则 其实都更接口和抽象有关 (面向抽象和面向接口)
2.6 迪米特原则:
英文:Law of Demeter
定义:一个对象应该对其他对象有最少的了解,调用者也是比较关注。
思考: 缓存: 常用缓存(经常调用的一些接口) 首页 (内存(2M)数据库,硬盘), 不常用缓存(不经常调用的一些接口) 个人信息 (硬盘)
QQ群:546270670
视频(Grace) 2746186102
240336124@qq.com 发到邮箱(评估)
网友评论