开放-封闭原则

2390阅读 0评论2013-01-16 dyli2000
分类:C#/.net

    开放-封闭原则,是说软件实体(类、模块、函数等等)应该可以扩展,但是不可以修改。

 

该原则有两个特性:

1、对于扩展是开放的(open for extension)。

2、对于更改是封闭的(closed for modification)。

 

    在做任何系统的时候,都 不要指望 系统一开始时需求确定,就再也不会变化,这是不现实也不科学的想法。而既然需求是一定会变化的,那么如何在面对需要的变化时,设计的软件可以相对容易修改,不至于新需求来时,就要把整个程序推倒重来。怎样的设计才能面对需求的改变却可以保持相对稳定,从而使得系统可以在第一个版本以后不断推出新的版本?就需要用到开放-封闭。

 

    面对需求,对程序的发动是通过增加新代码进行,而不是更改现有的代码。这是开放-封闭原则的精神所在。

上一篇:软件设计单一原则SRP
下一篇:依赖倒转和里氏代换原则