- 对扩展开放(open)
- 对修改关闭(closed)
的设计原则。
开闭原则是判断面向对象设计是否正确的最基本的芦源原理之一。
根据开闭原则,在设计一个软件系统模块(类,方法瞎升)的时候,应磨哗老该可以在不修改原有的模块(修改关闭)的基础上,能扩展其功能(扩展开放)。
- 扩展开放:某模块的功能是可扩展的,则该模块是扩展开放的。软件系统的功能上的可扩展性要求模块是扩展开放的。
- 修改关闭:某模块被其他模块调用,如果该模块的源代码不允许修改,则该模块修改关闭的。软件系统的功能上的稳定性,持续性要求是修改关闭的。
这也是系统设计需要遵循开闭原则的原因:
1)稳定性。开闭原则要求扩展功能不修改原来的代码,这可以让软件系统在变化中保持稳定。
2)扩展性。开闭原则要求对扩展开放,通过扩展提供新的或改变原有的功能,让软件系统具有灵活的可扩展性。
遵循开闭原则的系统设计,可以让软件系统可复用,并且易于维护。
C++中:用基类的引用指定派生类的对象,然后通过该引用来访问派生类的方法,这是基本的多态形式。(Java中用的接口的概念)这样的好处是,程序的已知流程在没有派生类的时候就可以写好,以后要有新的功能,只毕姿要再写个派生类就可以了。举个例子,在电脑上显示图片,基本上要有读文件,解析文件,显示图形三个步骤,键族这些步骤可以写在基类中,然后具体的如何读文件,如何解析文件,如何显示,手亮绝就交给派生类去做。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)