如果两个类不必彼此直接通信,那么这两个类就不应该发生直接的相互作用。如果其中一个类需要调用另一个类的某一个方法的话,可以通过第三者转发这个调用。 迪米特法则首先强调的前提是在类的结构设计上,每一个类都应当尽量降低成员的访问权限 迪米特法则的根本思想,是强调了类之间的松耦合 类之间的耦合越弱,越易于复 ...
分类:
其他好文 时间:
2017-05-18 13:28:43
阅读次数:
115
本文主要对设计模式进行大概解说。特别是对工厂模式进行简明的解析: 一、设计模式的分类 创建型模式,共五种:工厂方法模式、抽象工厂模式、单例模式、建造者模式、原型模式。 结构型模式,共七种:适配器模式、装饰器模式、代理模式、外观模式、桥接模式、组合模式、享元模式。 行为型模式,共十一种:策略模式、模板 ...
分类:
其他好文 时间:
2017-04-30 23:08:24
阅读次数:
390
代理,说白了就是中介。假设有俩对象A和B,A想访问B,但是根据迪米特法则,我们不能喝陌生人说话,简而言之就是A要减少知道B的相关情况,要降低A与B的耦合度。这时我们使用中介C,而C拥有B的相关情况,A通过C来访问B。 下面我们使用一个案例来说明代理模式: 类图: 运行结果: ...
分类:
其他好文 时间:
2017-04-28 22:07:19
阅读次数:
174
外观模式 Facade:为子系统中的一组接口提供一个一致的界面。此模式定义了一个高层接口,这个接口使得这一子系统更加easy使用。 外观模式结构图 外观模式的实例: 理財投资中为了降低风险。购买基金,从而基金公司利用集合来的钱投资股票,国债。房子产。 购买基金的类图 代码实现: namespace ...
分类:
其他好文 时间:
2017-04-20 19:29:07
阅读次数:
176
架构_01 首先分享一波,公开课部分视频: 链接: https://yun.baidu.com/s/1c1K7f6C 密码: a3vp 有兴趣的可以先学习一下公开课内容,都还挺不错的,虽然有挺多时间是广告。 设计模式 设计模式六大原则 开闭原则(总则) 接口隔离原则 依赖倒置原则 迪米特原则(最少知 ...
分类:
移动开发 时间:
2017-04-01 09:21:19
阅读次数:
689
生活论证:假如B和C都能完成一件事,但是A只认识B,一般都是B来帮助A完成这件事的(但是其实C也可以完成,只是因为A不认识C而已). 有一天,B非常的繁忙。无法帮A完成这件事情,此时的C是空闲的,但是A无法让C帮忙,因为不认识。多希望这个时候有一个部门管理,来为B和C分配任务,而A只需要认识部分管理 ...
分类:
其他好文 时间:
2017-03-23 21:35:52
阅读次数:
119
定义:一个类和另一个类应该保持最小的了解 问题由来:类与类之间的关系越密切,耦合度越大,当一个类发生变化时,对另一个类影响也越大。 解决方案:尽量降低类与类之间的耦合。 迪米特法则的初衷是降低类的耦合,由于每个类都减少了不必要的依赖,因此确实可以降低耦合关系。但凡事有个度,虽然可以避免与非直接的类通 ...
分类:
其他好文 时间:
2017-03-01 00:51:14
阅读次数:
234
外观模式(Facade):为子系统中的一组接口提供一个一致的界面,此模式定义了一个高层的接口,这个接口使得这一子系统更加容易使用。 该模式完美的体现了依赖倒转原则和迪米特法则的思想。 何时使用外观模式: 首先,在设计初期阶段,应该有意识的将不同的两个层分离,比如经典的三层架构,就需要考虑在数据访问层 ...
分类:
其他好文 时间:
2017-02-28 17:34:34
阅读次数:
135
迪米特法则(LoD):如果两个类不必彼此直接通信,那么这两个类就不应当发生直接的相互作用。如果其中一个类需要调用另一个类的某一个方法时,可以通过第三者转发这个调用。 迪米特法则首先强调的前提是在类的结构设计上,每一个类都应当尽量降低成员的访问权限,也就是说,一个类包装好自己的private状态,不需 ...
分类:
其他好文 时间:
2017-02-28 16:31:32
阅读次数:
182
一、外观模式介绍 面向对象的一个比较重要的法则:迪米特法则(最少知识原则):一个软件实体应当尽可能少的与其他实体发生相互作用。 外观模式:为子系统中的一组接口提供一个一致的界面,此模式定义了一个高层接口。这个接口使得这一子系统更加容易使用。说白了,就可以理解为封装 外观模式的核心:为子系统提供统一的 ...
分类:
其他好文 时间:
2017-02-15 23:46:18
阅读次数:
194