软件设计模式的原则
作者:网络转载 发布时间:[ 2013/8/23 14:14:01 ] 推荐标签:
四:单一职能原则
定义:一个类而言,应该仅有一个引起他变化的原因[DH]
也是说,不要把变化原因各不相同的职责放在一起,因为不同的变化会影响到不相干的职责。再通俗一点地说是,不该你管的事情你不要管,管好自己的事情可以了,多管闲事害了自己也害了别人。(当然这里说的多管闲事跟见义勇为是两回事,我们提倡见义勇为!)
这个是说,一个类尽量做到了功能单一,比如在mvc中,判断数据的类和添加数据库的类一定要分开。单一职能的不是说职能多了我们实现不了,是为了后期的测试维护,每个类的很单一,我们找错误的时候可以一步到位。添加新的功能的时候,也不用牵扯到很多的类。
在设计模式中的体现:
烤肉者管烤肉,他也不管收钱,也不管记录。这样把"地摊"上的烤肉者分成服务员和烤肉的人。让职责单一。不容易出错。
上边的都是几个原则,下面介绍两个法则:
(1)迪米特法则:系统中的类,尽量不要与其他类互相作用,减少类之间的耦合度,因为在你的系统中,扩展的时候,你可能需要修改这些类,而类与类之间的关系,决定了修改的复杂度,相互作用越多,则修改难度越大,反之,如果相互作用的越小,则修改起来的难度越小。。例如A类依赖B类,则B类依赖C类,当你在修改A类的时候,你要考虑B类是否会受到影响,而B类的影响是否又会影响到C类。。如果此时C类再依赖D类的话,呵呵,我想这样的修改有的受了。。
(2)接口隔离法则:这个法则与迪米特法则是相通的,迪米特法则是目的,而接口隔离法则是对迪米特法则的规范。。为了做到尽可能小的耦合性,我们需要使用接口来规范类,用接口来约束类。要达到迪米特法则的要求,好是实现接口隔离法则,实现接口隔离法则,你也满足了迪米特法则。。。
这里也体现了一个依赖原则,要尽量依赖抽象,不要依赖具体。
设计模式中的体现:高层模块依靠接口和底层模块依赖。
总结:学习设计模式的基础是理解设计原则,只用理解了这些原则,加上OO的三大特性。再去体会设计模式满足那些原则。后达到你可以运用这些原则来写出自己的设计模式来,这才是高境界。我在看了一遍大话设计模式以后,将其中的思想总结出来。和大家分享。
相关推荐
更新发布
功能测试和接口测试的区别
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