老蔡的个人专栏正式成立,以后工作中遇到的技术问题,或者生活中对一些事物的见解,都会和大家分享!独乐乐不如众乐乐!

Open-Closed Principle软件设计中的“开-闭原则”

JAVA BlandonTsai 2226℃ 0评论

这个原则最早是由Bertrand Meyer提出,英文的原文是:

Software entities should be open for extension,but closed for modification.

意思是说,一个软件实体应当对扩展开放,对修改关闭。也就是说,我们在设计一个模块的时候,应当使这个模块可以在不被修改的前提下被扩展,换句话说就是,应当可以在不必修改源代码的情况下改变这个模块的行为。

满足OCP的设计给系统带来两个无可比拟的优越性

1.通过扩展已有的软件系统,可以提供新的行为,以满足对软件的新需求,使变化中的软件系统有一定的适应性和灵活性。

2.已有的软件模块,特别是最重要的抽象层模块不能再修改,这就使变化中的软件系统有一定的稳定性和延续性。

例如:

编程模式中的工厂模式的“工厂方法”支持OCP原则,门面设计模式则不太符合开闭法则。

转载请注明:似水流年 » Open-Closed Principle软件设计中的“开-闭原则”

如果觉得文章还不错,欢迎打赏
喜欢 (0)or分享 (0)
头像
发表我的评论
取消评论