设计模6大原则
单一原则
每个类做一件事
接口隔离原则
将事务用接口体现
里氏替换原则 (子类可以扩展父类功能,但是不要改变父类)
里氏替换原则为良好的继承定义了一个规范,一句简单的定义包含了4层含义。
1.子类必须完全实现父类的方法
2.子类可以有自己的个性
3.覆盖或实现父类的方法时输入参数可以被放大
4. 覆写或实现父类的方法时输出结果可以被缩小
依赖倒置(关联关系接口)
依赖接口编程,不要依赖实现变成,典型架构Dagger
接口隔离 (多个功能)
设计接口的功能尽量细粒度。
比如: 我们很多类,都实现了A接口,现在我们需要加入一个特殊功能B,就不要更改A接口,而是为功能B设计单独的接口使用。
迪米特原则 (不直接打交道,组要中间接口)
降低耦合,局部变量不要引入新的类
比如:
class A {
Object B;
public void MethodX(Param p,Param q){
Object C = new CImpl();
}
}
Object C = new CImpl();
放到类的成员变量,这样别人通过类可以很好的知道你都做了什么,再次就是减少A 引用B这种地方
开闭原则(继承)
扩展开放,对修改关闭
重构代码或者扩展的时候,对原有类的代码和功能封闭修改做到不修改,开放接口或者类似Kotlin的扩展写法
常用设计模式分类
-
创建型模式:静态工厂模式、工厂方法模式、抽象工厂模式、
单例模式、建造者模式 -
结构型模式:桥接模式、适配器模式、装饰器模式、代理模式、组合模式
-
行为型模式:模板方法模式、策略模式、观察者模式、责任链模式、命令模式、访问者模式
带着设计模式的思路去阅读框架代码会让我们能力更好的提升,让思路更清晰
网友评论