程序设计-开闭原则

所谓的开闭原则(Open-Closed Principle)就是让设计对扩展开放,对修改关闭。

开闭原则的本质是指当一个设计中增加新的模块时,不需要修改现有的模块。

在给出一个设计时,应当首先考虑到用户需求的变化,将应对用户变化的部分设计为对扩展开放,而设计的核心部分是经过精心考虑之后确定下来的基本结构,这部分应当是对修改关闭的,即不能因为用户的需求变化而再发生变化,因为这部分不是用来应对需求变化的。

如果设计遵守了“开闭原则”,那么这个设计一定是易维护的,因为在设计中增加新的模块时,不必去修改设计中的核心模块。

遵守了开闭原则,则系统的核心类可以兼容任何后来扩充的类。

通常无法让设计的每个部分都遵守“开闭原则”,也不应该这么做,应当把主要精力几种在应对设计中最有可能因需求变化而需要改变的地方,然后想办法应用“开闭原则”。

当设计某些系统时,经常需要面向抽象来考虑系统的总体设计,不需要考虑具体类,这样就容易设计出满足“开闭原则”的系统,在程序设计好后,首先对abstract类的修改关闭,否则,一旦修改abstract类,比如,为它再增加一个abstract方法,那么abstract类所有的子类都需要做出修改;应当对增加abstract类的子类开放,即在程序中在增加子类时,不需要修改其他面向抽象类而设计的重要类。

猜你喜欢

转载自blog.csdn.net/zw3413/article/details/80059201