知识卡片
模式的定义与本质
内容
UML只回答怎么画一个面向对象设计,模式(pattern)回答的是过程的结果:具体的例子设计,由发现重复设计主题的人总结出来供他人复用。一条合格的模式不只是画法,必须同时讲清楚问题是什么、为什么这样解决、在什么环境下管用什么环境下不管用——只有画法没有原因和适用边界不算模式。例如代理对象代替远程对象承担网络细节是常见模式,模式书籍真正传授的是这些经验,而不是怎么画代理的UML图。
参考来源
- 位置:《UML精粹:标准对象建模语言简明指南(第3版)》第2章《开发过程》(源文件:_epub-src/EPUB/1.xhtml)
- 结论依据:原文用代理(Proxy)模式为例,说明模式书籍讲的是"对象如何一起工作、该模式的好处和局限性、常见的变体以及实现提示",并明确"模式必须清晰地识别问题,解释为什么它这样解决问题,也要解释模式管用和不管用的环境"。
- 原始内容:模式不只是模型。模式还必须包含为什么这样做的原因。经常有人说模式是问题的解决方案。模式必须清晰地识别问题,解释为什么它这样解决问题,也要解释模式管用和不管用的环境。