第二周 - 学习总结 - 框架设计原则

用户头像
莫森
关注
发布于: 2020 年 09 月 29 日

开闭原则OCP

原则:可横向扩展,不修改主体逻辑

实现:善用抽象,增加缓冲,降低耦合



依赖倒置原则DIP

用途:指导框架设置,合理的设计接口,实现层与层之间的松耦合

原则:高层抽象出来一个接口(接口仍然属于这一层),给底层去实现。

高层调用接口,底层实现接口

(感觉就像一个协议)

里氏替换原则LSP

用途:合理的使用继承

符合LSP条件:

子类具有父类的所有特性

子类的访问控制比父类更宽松

判断是否符合LSP:

在特定使用场景中,看能否用子类(A)替代父类(B),即 A is a B ?

例如:父类是马,子类是白马和小马。在人骑马这个场景下,白马是符合里氏替换            原则,而小马不符合。

解决LSP问题:

提取有共性的到基类

改继承为组合,将父类,改为子类的某个局部变量

单一职责原则SRP

用途:判断一个类的设计是否合理,关注一个类是否可拆解。

原则:类的职责需要单一

判断:当一个类文件太大(大于显示器屏幕显示),反思是否类功能不单一

认知:所以不要吝啬创造类以及查分类?

接口隔离原则ISP

用途:设计接口,封装类中只暴露给某一类使用者的方法,避免让使用者看到不需要的方法。关注不可拆解的类,将特定方法暴露给特定使用者。

实现:用多重继承,实现多个接口,不同的应用程序访问不同的接口。通过接口实现隔 离。



发布于: 2020 年 09 月 29 日 阅读数: 20
用户头像

莫森

关注

改掉浪费恶习 2018.11.29 加入

不思进取

评论

发布
暂无评论
第二周-学习总结-框架设计原则