1、单一职责原则(SRP):就一个类而言,应该仅有一个引起它变化的原因。
如果一个类承担的职责过多,就等于把这些职责耦合在一起,一个职责的变化可能会削弱或抑制这个类完成其它职责的能力。这种耦合会导致脆弱的设计,当变化发生时,设计会遭到意想不到破坏。
2、开闭原则(OCP):开发中编写的模块应该对扩展开放,对修改关闭。
3、里式替换原则:只要父类能出现的地方,子类就可以出现。
4、依赖倒置原则:本质就是通过抽象(抽象类或接口)使各个类或模块实现彼此独立,不互相影响,实现模块之间的松耦合。
表现:
A、模块间的依赖通过抽象发生,实现类之间不发生直接的依赖关系,其依赖关系是通过接口或抽象类生产的。(高层模块不该依赖低层模块,两者都应该依赖抽象。)
B、接口或抽象类不依赖于实现类。(抽象不应该依赖细节)
C、实现类依赖于接口或抽象类。(细节应该依赖抽象)
依赖的三种写法:
a、构造函数传递依赖对象
b、Setter方法传递依赖对象
c、接口声明依赖对象
用法:
@1、每个类尽量都有接口或抽象类,或者两者都有。
@2、变量的表面类型尽量是接口或抽象类。
@3、任何类不应该从具体类派生。
@4、尽量不要覆写基类的方法。
@5、结合里式替换原则(父类能出现的地方,子类也可以出现)。
5、接口隔离原则:建立单一的接口,不要建立臃肿庞大的接口。
建立功能庞大的接口会导致,有些实现类不需要接口中的某些方法,但又必须去实现,造成了不用但又必须有的结果,毫无意义。因此,一个接口的功能尽量单一。
6、迪米特法则:只与直接相关的类打交道,不与其他类沟通。
7、聚合:一个类是另几个类的属性。(比喻:一个学生既可以参加乒乓球俱乐部,也可以参加音乐俱乐部。。。)
组合:类与类之间是部分与整体的关系。(比喻:一个人的手与人身体的关系,只能属于身体)
设计原则简述
最新推荐文章于 2022-03-04 15:21:02 发布