设计模式之禅

单一职责原则

里氏替换原则(规范继承)

任何基类可以出现的地方,子类一定可以出现

1.子类必须完全实现父类的方法

2.子类可以有自己的个性

3.覆盖或实现父类的方法时输入参数可以被放大

4.覆写或实现父类的方法时输出结果可能被缩小

依赖倒置原则(面向接口编程)

通过抽象使各个类或者模块的实现彼此独立

1.每个类尽量都有接口或抽象类,或者抽象类和接口两者都具备

2.变量的表面类型尽量是接口或者是抽象类

3.任何类都不应该从具体类派生

4.尽量不要覆写基类的方法

5.结合里氏替换原则使用

对象的依赖关系传递方式:

1.构造函数传递依赖对象

2.Setter方法传递依赖对象

3.接口声明依赖对象(接口注入)

接口负责指定public属性和方法,并且声明与其他对象的依赖关系抽象类负责公共构造部分的实现,实现类准确的实现业务逻辑,

同时在适当的时候对父类进行细化

接口隔离原则(对接口进行规范约束)

接口:实例接口 类接口

1.接口要尽量小(根据接口隔离原则拆分接口时,首先必须满足单一职责原则)

2.接口要高内聚

3.定制服务

4.接口设计是有限度的

接口隔离原则是对接口的定义,同时也是对类的定义,接口和类尽量使用原子接口或者原子类来组装.

最佳实践:控制接口颗粒度

迪米特法则

一个对象应该对其他对象有最少的了解.

开闭原则

对扩展开放,对修改关闭

通过扩展来实现变化,而不是通过修改已有的代码来实现变化

可维护性: 修改和扩展,体现在以设计原则和设计模式为基础

可阅读性:格式化,约定俗成的规范,变量命令规范 , 方法命令规范等

如果是模块话的功能,那么就应该做到模块内聚,与这个模块有关联的操作,方向应该单一,不应该引用和对象到处跑

如果是全局性的功能和方法,应该将方法抽聚在一起,使用的方式就通过单纯的实例引用或者静态方法调用

参考: <<设计模式>> <<设计模式之禅>> <<大话设计模式>>

https://www.cnblogs.com/zh7791/p/7923016.html

results for ""

    No results matching ""