摘要:
对于僵化性的臭味,应用OCP原则之后,再进行同样的改动时,只需添加新代码,而不必改动已正常运行的代码.扩展模块行为的方式通常是修改模块的Code,不允许修改的模块常常被认为是具有固定的行为.Open:模块的行为是可以扩展的,即可以改变模块的功能.Close:对模块进行扩展时,不必改动DLL,Code,lib等.封闭创建于抽象的基础之上.关键是抽象.抽象基类: 固定,能够描述一组任意个可能行为的抽象体.派生类: 一组任意个可能的行为的表现.模块操作抽象体.所以模块的依赖是一个固定(对修改封闭的)的抽象体.然后,通过从这个抽象体派生,可以扩展此模块的行为.该结构的问题:很可能会需要在switch中 阅读全文