软件设计原则

1、单一职责,
一个类应该只有一个职责,否则耦合。

2、开闭原则,
可扩展不可修改,对于实在要修改的部分,用抽象隔离。

3、依赖倒转原则
高层(调用者)不应该依赖于低层(被调用者),两者都需要依赖于抽象;
抽象不应该依赖细节,细节应该依赖抽象(面向接口)
例子:业务类调用Sqlserver数据类,业务逻辑都封装得很完美,然后此时有新项目了,需要用mysql,此时需要重写mysql数据类,但是业务类完全可复用。那么在新项目中,业务类移植过来后需要把调用SQL数据类的地方都改成调用mysql数据类。如果老项目中业务类调用的是接口,那么新项目中mysql数据类只要继承接口,然后业务代码完全可以不用动。

4、里氏替换原则
把调用父类改为调用子类后,行为没有任何改变。即子类必须能够完全替代父类。
正是由于子类可以完全替换父类,才使得调用父类的模块可以实现无限扩展。
例子:企鹅继承鸟的话,就是违背了里氏替换原则,因为鸟会飞,企鹅不会飞。

猜你喜欢

转载自blog.51cto.com/5591787/2108127