\(^o^)/~萤火虫\(^o^)/~ 1
简述“开—闭”原则的基本思想
请举出一个使用了软件“开—闭”原则的软件设计模式,其中何处体现了“开—闭”原则
答:“开—闭”原则:软件实体应当对扩展开放,而对修改关闭,“开-闭”原则要求软件系统能够在不需要修改原有类的基础上,通过增加类达到扩展功能的目的
Abstract factory体现了这个原则,如果想增加一类新的 products,只需在 product类体系中增加各个 products,然后在 factory类体系结构中增加一个 concrete factory就可以了,而不需要对现有类做任何修改,The Open-closed principle[ocp]在不改动过模块源代码的情况下扩展模块的行为
软件实体(类模块 函数等)应该是可以扩展的,但是不可以修改的
简述依赖例转原则的基本思想
请举出一个使用了软件依赖原则的软件设计模式,其中何处体现了依赖原则
答:依赖倒置原则的基本思想是:①高层模块不应该依赖于低层模块,二者都应该依赖于抽象
②抽象不应该依赖于细节,细节应该不依赖于抽象
Tomplate method就体现了这个原则,它定义了一个操作中的算法骨架,而将一些步骤延迟到子类中,template method使得子类不改变一个算法的结构,即可重定义该算法的某些特定步骤
什么是单一职责原则
请举出一个使用了单一职责原则的软件设计模式,其中何处体现了单一职责原则
答:基本思想:SRP使得一个类或一个模块承担的责任尽可能的少,使尽可能少的因素或动机影响该类或该模块,即增大类或模块的内聚性,减少其耦合度,SRP是所有原则中最简单的之一,也是最难正确运用的之一
COMMAND模式体现了 SRP原则,大多数类都是一组方法和相应的一组变量的结合,而该模式只是封装了一个没有任何变量的函数,它对函数的关注超过