面向对象的高级原则

来源:互联网 发布:实木家具淘宝论坛 编辑:程序博客网 时间:2024/06/05 04:39

1、开放/封闭原则
模块应该对扩展开放,对修改关闭。
每个类型应该是固定的,不在未来有任何变化,更不要修改类型的源代码。即类型对修改关闭。
每次发生变化时,要通过添加新代码来增强现有类的行为,而不是修改原有代码。可以使用如下两种方式:
①用组合创建新的类型。
②使用安全干净的继承体系。
在类型继承中,应该仅仅添加新代码,不应该修改任何继承得到的上下文。

2、里氏替换原则
子类应该可以替代基类使用。
并不是所有的子类都能安全地替换其基类使用。如何保证呢?
慎重处理sealed和virtual关键词。
虚方法不应该访问到私有成员,因为对私有成员的访问无法在重写中实现。

3、依赖倒置原则
目的在于重用高层次的模块,而不是低层次的组件。
高层次的组件不应该依赖于低层次组件,二者均应依赖于接口。
抽象不应该依赖于细节,细节应该依赖于抽象。
依赖倒置原则经常是指控制反转。

 

 

原创粉丝点击