《Head First 设计模式》 第十、十一章 状态模式、代理模式

 

 

原则

模式

关联

 

状态模式

 

模式

状态模式

允许对象在内部状态改变时改变它的行为,对象看起来好像修改了它的类

 

 

关联

与策略模式的差别

类图与策略模式一致,这两个模式的差别在于它们的意图。

一般来说,我们把策略模式想成是除了继承之外的一种弹性替代方案。如果你使用继承定义了一个类的行为,你将被这个行为困住,甚至要修改它都很难。有了策略模式,你可以通过组合不同的对象来改变行为。

我们把状态模式想成是不用在 context 中放置许多条件判断的替代方案。通过将行为包装进状态对象中,你可以通过在 context 内简单地改变状态对象来改变 context 的行为。

 

 

代理模式

 

模式

代理模式

为另一个对象提供一个替身或占位符以控制对这个对象的访问。

 

 

关联

Spring 的 AOP 用到了动态代理

Mybatis 用到了动态代理

 

posted @ 2020-06-14 16:46  stoneBlog  阅读(130)  评论(0编辑  收藏  举报