摘要: Layer Supertype层超类型某一类型充当一层中所有类型的超类型.(DomainObject).运行机制当软件某一层中所有对象有公共特征时,可以将这些特征提取到一个超类上去.Separated Interface分离接口在一个包中定义接口,而在另一个与之分离的保重实现该接口.为了减少系统部件间的耦合,将类分组,然后组织成包,并限制包间的依赖关系.同时约定包间调用的约束.但是,可能会出现与包间通用的一般性依赖关系有冲突的调用关系.此时,使用分离接口.一个包中定义接口,而在另一个包中实现它.分离接口为入口提供了一个很好的插入点.运行机制实现类对接口存在依赖,反之没有.所以,实现包到接口包有 阅读全文
posted @ 2014-01-22 16:28 robynhan 阅读(253) 评论(0) 推荐(0) 编辑
摘要: 在两个独立的对象之间建立通信的对象需要在两个必须相互隔离的子系统间建立通信.可能是因为无法修改已有的子系统,或者不愿意在两者之间建立依赖关系.甚至不愿意这两个子系统与另一个部件间建立依赖关系.运行机制控制着子系统键的通信细节.但是并不被子系统感知.难点是如何激活映射器进行(在子系统间的)数据交换.因为无法在任何一个子系统上直接调用Mapper.可以使用一个第三方子系统来完成映射并调用Mapper.也可以让Mapper成为某个子系统的观察者.使用时机作用是解耦系统的不同部分.完成该目的,也可选择入口.入口是最常见的方案.只有当需要确保任何一方的子系统都不能依赖于交换时,才使用它. 阅读全文
posted @ 2014-01-22 11:06 robynhan 阅读(767) 评论(0) 推荐(0) 编辑
摘要: •Gateway入口 ◦一个封装了对外部系统或资源访问的对象. ◾OO系统中,也需要访问一些不是对象的事物,DB表,XML,事务. ◾这些外部资源的API很复杂. ◾入口类对象将简单的方法调用转换成相应的特定API. ◦运行机制 ◾本质上是简单的包装器模式. ◾封装外部资源,创建一个简单的API,并用入口将对该API的调用转移到外部资源上. ◾它可以作为使用服务桩的极佳位置. ◾应尽可能保持入口简单.复杂的逻辑应该放在入口的客户中. ◾有时需要多个对象来构造入口 ◾常见的:一个后端,一个前端. ◾后端封装对外部资源操作的代码,... 阅读全文
posted @ 2014-01-22 10:56 robynhan 阅读(516) 评论(0) 推荐(0) 编辑