如何在程序设计时保证"对扩展开放,对修改关闭

如何在程序设计时保证"对扩展开放,对修改关闭,第1张

原则(OCP:Open-Closed Principle)是指在进行面向对象设计(OOD:Object Oriented Design)中,设计类或其他程序单位时,应该遵循:

- 对扩展开放(open)

- 对修改关闭(closed)

的设计原则。

开闭原则是判断面向对象设计是否正确的最基本的芦源原理之一。

根据开闭原则,在设计一个软件系统模块(类,方法瞎升)的时候,应磨哗老该可以在不修改原有的模块(修改关闭)的基础上,能扩展其功能(扩展开放)。

- 扩展开放:某模块的功能是可扩展的,则该模块是扩展开放的。软件系统的功能上的可扩展性要求模块是扩展开放的。

- 修改关闭:某模块被其他模块调用,如果该模块的源代码不允许修改,则该模块修改关闭的。软件系统的功能上的稳定性,持续性要求是修改关闭的。

这也是系统设计需要遵循开闭原则的原因:

1)稳定性。开闭原则要求扩展功能不修改原来的代码,这可以让软件系统在变化中保持稳定。

2)扩展性。开闭原则要求对扩展开放,通过扩展提供新的或改变原有的功能,让软件系统具有灵活的可扩展性。

遵循开闭原则的系统设计,可以让软件系统可复用,并且易于维护。

C++中:用基类的引用指定派生类的对象,然后通过该引用来访问派生类的方法,这是基本的多态形式。(Java中用的接口的概念)

这样的好处是,程序的已知流程在没有派生类的时候就可以写好,以后要有新的功能,只毕姿要再写个派生类就可以了。举个例子,在电脑上显示图片,基本上要有读文件,解析文件,显示图形三个步骤,键族这些步骤可以写在基类中,然后具体的如何读文件,如何解析文件,如何显示,手亮绝就交给派生类去做。


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/yw/12510621.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-26
下一篇 2023-05-26

发表评论

登录后才能评论

评论列表(0条)

保存