本文为敏捷软件开发 - 原则、模式与实践系列的一部分。
本文对应原书第26章
PROXY模式

PROXY模式具有一个非常大的好处:重要关系的分离。在上面的例子中,业务规则和数据库就被完全分开了。在那些把业务 规则和数据库实现分离显得非常重要的情况中,PROXY模式是很适用的。就此而言,PROXY模式可以用来分离业务规则和任何种类的实现问题。它可以用来防止业务规则被诸如:COM、COBRA、EJB等东西污染。
使用代理是有代价的。规范模式中所隐含的简单委托模型很少能够被优美地实现。相反,我们经常会取消对于繁琐的获取和设置方法的委托。对于那些管理1:N关系的方法来说,我们会推迟委托并把它移到其他方法中。
大多数应用程序不需要代理。但是存在一些情况,其中代理所提供的的应用程序和API的极端分离是有益的。这些情况几乎总是会出现在那些遭受着频繁的数据库模式或者API变更的非常大型的系统中;或者出现在可以运行在许多不同的数据库引擎或者中间件引擎之上的系统中。
STAIRWAY TO HEAVEN模式
STAIRWAY TO HEAVEN模式是另一个可完全和PROXY模式一样的依赖关系倒置的模式。它使用类形式的ADAPTER模式的一个变体。

PersistentObject是一个知道数据库的抽象类。它提供了两个抽象方法:read和w

本文介绍了敏捷软件开发中的两种设计模式:PROXY模式和STAIRWAY TO HEAVEN模式。PROXY模式通过分离业务规则与数据库,提供了一种防止业务规则污染的解决方案,常用于大型系统中应对频繁的数据库模式或API变更。STAIRWAY TO HEAVEN模式则是依赖关系倒置的一种形式,适用于支持多重继承的语言,如 PersistentObject 抽象类,用于处理数据库操作。文章建议在实际需求出现时再引入这两种模式,避免过早优化。
最低0.47元/天 解锁文章

被折叠的 条评论
为什么被折叠?



