Aha!设计模式(30)-原型(4)

2019-04-13 13:57发布

4. 结 构 按照UML的规则,prototype应该写在Prototype类一侧,这是《设计模式》一书中的通病。大家在自己画设计模式类图的时候需要注意一下。   5. 参与者
  • Prototype(Graphic)
— 声明一个克隆自身的接口。
• ConcretePrototype(Staff、WholeNote、HalfNote)
— 实现一个克隆自身的操
作。
• Client(GraphicTool)
— 让一个原型克隆自身从而创建一个新的对象。
  如果和前面动机部分的类图比较会发现:这里的结构要简单很多,简单说就是一句话:基类声明一个克隆自身的接口,然后派生类去实现它。至于客户类,它总是要存在的,不说(记)也罢。   6. 协 作   • 客户请求一个原型克隆自身。   剩下的就是客户来调用这个接口就可以了。   作者一句话   逻辑学上讲:内涵越少外延越大。如果我们可以去除一切多余信息,准确地理解设计模式最核心的部分,就会很容易找到它的应用场景。学习用一句话表述设计模式就是这个抓核心的过程。它实际上是一个透过现象看本质的过程,也可以说去伪存真的过程。    注:   本文中蓝 {MOD}粗体文字都引自《设计模式》一书。 阅读更多更新文章,请扫描下面二维码,关注微信公众号【面向对象思考】   觉得本文有帮助?请分享给更多人。