OOP抽象设计原则

很多书上都有讲到OOP设计的原则,这个是所有设计的基础参考规则,非常重要哦,我这里也照单罗列一下:

其中主要的几个原则为SOLID原则,概要如下:

1、单一原则(S)

      就一个类而言,应当只专注做一件事

2、开闭原则(O)

      应当对扩展开放,对修改封闭

3、里氏替换(L)

      所有抽象基类出现的地方都应该出现子类

4、接口隔离(I)

      要针对接口编程,不要针对实现编程。对于不同层次的编程,高层次暴露给低层次的应当是接口,而不是具体的类。

      不能强迫用户去依赖他们不使用的接口,简单的讲就是:让你的接口粒度更小一点,而不是将多个接口复合设计

5、依赖倒置(D)

     上层的模块不应依赖于底层模块,应该依赖于抽象,同时抽象不依赖于细节,细节应该依赖于抽象。也就是说应该使用接口和抽象类进行变量类型、参数类型、方法返回类型的声明,以及数据类型的转换等,而不是使用具体的类来实现,因此一个具体类应只需要实现接口和抽象类中声明的方法,而不用提供多余的方法。

 

其他的原则:

6、LOD原则(迪米特法则)

      只与你直接的朋友通信,而避免和陌生人通信。这样做的目的就是减少不同模块之间的通信,降低耦合度

7、CARP原则(合成/聚合复用原则)

      要尽量使用合成/聚合,而不是继承关系达到复用的目的。

 

 

 

你可能感兴趣的:(OOP抽象设计原则)