《大话设计模式》精髓理解——Chapter 11 - 15 减少耦合性

迪米特法则

如果两个类不必彼此直接通信,那么这两个类就不应当发生直接的互相作用。如果其中一个类需要调用另一个类的某一个方法的话,可以通过第三者转发这个调用。

迪米特法则的思想在于降低类之间的耦合度,减少类之间通信的接口。

外观模式

为子系统中的一组接口提供一个一致的界面,此模式定义了一个高层接口,这个接口使得这一子系统更加容易使用。

迪米特原则上拓展出来的模式,为多个接口定义一个高层接口。比如一个简单的例子,买股票要和很多只股票打交道,如果买基金就相当于为买股票提供了一个接口。

建造者模式

将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示。

在父类定好必须完成的功能(虚拟类),这样在创建子类的时候必须得完成这些功能,否则无法通过编译。比如我要做一道菜,那么加盐、加油……就得规定好,向麦当劳一样,而不能少做任何一样,这样就不好吃了。

观察者模式

观察者模式定义了一种一对多的依赖关系,让多个观察者对象同时监听某一主题对象。这个主题对象在状态发生变化是,会通知所有观察者对象,使它们能够自动更新自己。

将耦合的观察者和通知者(开小差的员工和前台秘书)抽象成两个类,减少二者的耦合度。进一步,将通知者的通知过程设置成委托,委托写在观察者类中。达到的效果就是:观察者不知道谁通知了它,通知者可以多态的通知不同的信息。

抽象工厂模式

提供一个创建一系列相关或相互依赖对象的接口,而无需指定它们具体的类

简单工厂是对一系列产品进行了抽象,工厂是对生成产品的过程进行了抽象,抽象工厂是对生成产品的不同实现形式进行了抽象(我到底在说什么???)
在抽象工厂中,为了不在选择中使用到客户端的代码,可以利用Java的反射机制进行配置,或者写一个配置文件来解决。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值