美文网首页
01.面向对象六大基本原则 - 网络引擎切换

01.面向对象六大基本原则 - 网络引擎切换

作者: 闫鹏飞写字的地方 | 来源:发表于2021-11-02 15:06 被阅读0次

1. 课程的安排介绍

一张图片到底占多大的内存?

1. 还是要看大家所花的一个时间消化,1-3 年多看看视频,3年以上 多看看书自己多研究源码

2. 能够讲多少 (多花一些时间,精讲讲透不讲细),讲得怎样?

整个系统架构的课程安排 (40次 , 4个月左右,周六日晚上八点,时间 2 个半小时左右)

Android进阶之旅 - 系统架构篇

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 发到邮箱(评估)

相关文章

网友评论

      本文标题:01.面向对象六大基本原则 - 网络引擎切换

      本文链接:https://www.haomeiwen.com/subject/ashzaltx.html