设计原则之“开-闭”原则(Open-Closed Principle)

"开-闭"原则是指:一个软件实体应当对扩展开放,对修改关闭。--《Java与模式》


"开-闭"原则是说,在设计模块的时候,应当使这个模块在不被修改的前提下,进行扩展。举例如下,孙悟空大闹天宫时,玉帝给了一个弼马温的职位。在天庭的职位体系中,扩展一个弼马温的职位并未修改天庭中其他职位系统。

 在这个例子中,“文武仙卿”就是各个职位的一个抽象,在不改变抽象层的情况下,扩展了实现层。从而满足了“开-闭”原则。


抽象化是实现“开-闭”原则的关键,不允许更改的是抽象层,允许扩展的是实现层。

在Java中可以定义出一个一劳永逸,不在修改的抽象设计。此设计允许有无穷无尽的行为在实现层被实现。在任何扩展的情况下,使得抽象层不被修改。

系统设计满足“开-闭”原则的好处:

  1. 使变化中的系统有一定的适应性和灵活性。通过扩展已有的软件系统,提供新的功能,满足新的需求。
  2. 使变化中的软件系统有一定的稳定性和延续性。已有的软件模块,特别是抽象层模块不能修改。

猜你喜欢

转载自blog.csdn.net/weixin_42217331/article/details/81624809