软件设计模式的原则
作者:网络转载 发布时间:[ 2013/8/23 14:14:01 ] 推荐标签:
二:依赖倒转原则
A:高层模块不应该依赖底层模块B:抽象不应该依赖细节,细节应该依赖抽象[DH]
是说要依赖抽象,而不要依赖具体的实现。。如果说开闭原则是目标,依赖倒转原则是到达"开闭"原则的手段。。如果要达到好的"开闭"原则,要尽量的遵守依赖倒转原则。。可以说依赖倒转原则是对"抽象化"的好规范!!
通俗的说是只有抽象的东西才是稳定的,也是说,我们依赖的是它的稳定。如果将来“抽象”也不稳定了,那么谁稳定我跟谁,其实说白了不是傍大款吗!
比如我们在观察者模式中(Observer)这里的通知者,不应该是具体。因为我们应当考虑到如果前台那里换了人怎么办?这个通知还可以是其他人通知。比如老板要通知去做某件事怎么办?为了让大家都能用这个通知。所以要设置成抽象的。这里的前台,老板都要依赖这个通知。也是说。细节要依赖抽象。
三:里氏代换原则:
定义:子类型必须能够替换它们的父类型[DH]
这个原则是对继承的一个约束,也是说,继承中子类严格满足"isa"的关系。这里我个人有深刻的体会。尤其是在看别人的UML图的时候。
对你帮助很大。当你看到一个继承的时候。要习惯性的把他的父类和子类看成一个整体。这样会有助于你去理解各个类之间的关系。因为根据里氏代换原则。父类出现的地方子类也可以出现。
比如我们再看工厂模式的时候,你看到有的书上简单工厂类关联着运算父类。有的书上是关联着运算类的子类。其实仔细想想他们都没有错,父类和子类的关联都是一样的,父类能出现的地方,子类可以出现。
在设计模式中的体现:
设计模式中所有继承都能体现着这一原则。我举一个不符合原则的例子。
相关推荐
更新发布
功能测试和接口测试的区别
2023/3/23 14:23:39如何写好测试用例文档
2023/3/22 16:17:39常用的选择回归测试的方式有哪些?
2022/6/14 16:14:27测试流程中需要重点把关几个过程?
2021/10/18 15:37:44性能测试的七种方法
2021/9/17 15:19:29全链路压测优化思路
2021/9/14 15:42:25性能测试流程浅谈
2021/5/28 17:25:47常见的APP性能测试指标
2021/5/8 17:01:11