摘要:
目的 空对象模式不属于 GoF 设计模式,但是它作为一种经常出现的套路足以被视为设计模式。它具有如下优点: 客户端代码简单 可以减少报空指针异常的几率 测试用例不需要考虑太多条件 返回一个对象或 null 应该用返回对象或者 NullObject 代替。NullObject 简化了死板的代码,消除了 阅读全文
摘要:
目的 它提供了在不破坏封装(对象不需要具有返回当前状态的函数)的情况下恢复到之前状态(使用回滚)或者获取对象的内部状态。 备忘录模式使用 3 个类来实现:Originator,Caretaker 和 Memento。 Memento —— 负责存储 Originator 的 唯一内部状态 ,它可以包 阅读全文
摘要:
目的 本模式提供了一种轻松的多组件之间弱耦合的协同方式。如果你有个 “情报中心”,观察者模式也是个好选择,类似于控制器(并非 MVC 意义上的控制器)。 所有关联协同的组件(称作 Colleague)仅与 MediatorInterface 接口建立耦合,面向对象编程中这是好事,一个良友胜于有多个朋 阅读全文