大话设计模式笔记(1)

来源:互联网 发布:mac适合编程吗 编辑:程序博客网 时间:2024/05/22 08:01

11. 无数人难办事?-迪米特法则(LoD):

如果两个类不必彼此直接通信,那么这两个类就不应该发生直接的相互作用,比如小菜去软件公司报道第一天,因为要和IT部门的具体员工打交道,所以导致由于不认识小李而电脑没法早点领取成功,这是典型失败设计模式,两个类即两个部门的人之间发生了强耦合。迪米特法则还强调,如果其中一个类需要调用另一个类的某一个方法的话,可以通过第三者转发这个调用,也就是设置一个IT部门主管,负责对部门任务的调度。

       用书里的话说,迪米特法则其根本思想强调了类之间的松耦合,耦合越弱,越有利于复用,一个处在弱耦合的类被修改,不会对有关系的类造成波及。也就是信息的隐藏促进了代码的复用。

12.牛市股票还会亏钱?-外观模式:

Facade:为子系统中的一组接口提供一个一致的界面,此模式定义了一个高层接口,这个借口使得这一子系统更加容易使用。也就是抽象中的抽象,接口中的接口。具体应用实例有微软.NET经典的三层架构:数据访问层,业务逻辑层和表示层。再就是股市,股民直接炒股就是类之间的强耦合,所以容易亏损,而交由基金专业人士去打理就坐收渔利。而且这种模式在维护一个遗留的大型系统时,因为很有可能这个系统已经非常难以维护和扩展了,此时可以在旧程序的基础上开发一个Facade类,让新系统与Facade对象交互,Facade与遗留代码交互。这样就简单清晰了。

15. 就不能不换DB吗?抽象工厂模式:

以SQL和Access举例来引入抽象工厂模式,即解决多个产品系列的问题。Abstract Factory:提供一个创建一系列相关或互相依赖对象的接口,而无需制定他们具体的类。另外,所有在用简单工厂的地方,都可以考虑用反射技术来去除switch或if,接触分支判断带来的耦合。

0 0
原创粉丝点击