Loading

摘要: 空对象模式 空对象模式是通过实现一个默认的无意义对象来避免null值出现, 简单地说,就是为了避免在程序中出现null值判断而诞生的一种常用设计方法. 举个简单的例子, 一个听动物叫声的模拟程序: 动物代码: 听叫声的人: 现在我们想, 能不能把 animal 的空值判断去掉呢?我们增加一个 Nul 阅读全文
posted @ 2018-12-29 23:38 烟草的香味 阅读(352) 评论(0) 推荐(0) 编辑
摘要: 黑板模式的意图 黑板模式是观察者模式的一个扩展,知名度并不高,但使用的范围却非常广. 其意图为: 允许消息的读写同时进行, 广泛的交互消息. 简单的说, 黑板模式允许多个消息读写者同时存在, 消息的生产者和消费者完全分开. 这就像一个黑板, 任何一个老师(消息的生产者)都可以在上面书写消息, 任何一 阅读全文
posted @ 2018-12-29 21:02 烟草的香味 阅读(806) 评论(0) 推荐(0) 编辑
摘要: 对象池模式 对象池模式, 或者称为对象池服务, 其意图为: 通过循环使用对象, 减少资源在初始化和释放时的昂贵损耗(这里的"昂贵"可能是时间效益(如性能), 也可能是空间效益(如并行处理), 在大多情况下, 指性能) 简单的说, 在需要时,从池中提取,不用时,放回池中,等待下一个请求. 典型的例子是 阅读全文
posted @ 2018-12-29 20:22 烟草的香味 阅读(5074) 评论(0) 推荐(0) 编辑
摘要: 雇工模式 雇工模式也叫仆人模式, 其意图为: 雇工模式是行为模式的一种, 它为一组类提供通用的功能,而不需要类实现这些功能,它是命令模式的一种扩展. 其类图如下: 其中角色如下: IServiced : 用于定义服务内容的接口 Serviced1 : 具体的服务提供者 Servant : 执行者,即 阅读全文
posted @ 2018-12-29 19:40 烟草的香味 阅读(564) 评论(0) 推荐(1) 编辑
摘要: 行为类模式包括: 责任链模式 命令模式 解释器模式 迭代器模式 中介者模式 备忘录模式 观察者模式 状态模式 策略模式 模板方法模式 访问者模式 行为型模式涉及到算法和对象间职责的分配 行为类模式关注如何管理对象的行为. 命令模式VS策略模式 策略模式和命令模式相似, 特别是命令模式退化时,比如无接 阅读全文
posted @ 2018-12-29 18:36 烟草的香味 阅读(364) 评论(0) 推荐(0) 编辑
摘要: 规格模式 规格模式 使用了策略模式,组合模式. 只不过将模式具体化了 规格模式将 与或非 操作进行了封装, 实现了类似 SQL查询语句的操作. 类图如下: 其中的角色如下: ISpecification 抽象规格书: 对规格书的抽象定义 CompositeSpecification 组合规格书: 抽 阅读全文
posted @ 2018-12-29 13:31 烟草的香味 阅读(1309) 评论(0) 推荐(0) 编辑