
图 1 (根据 <<深入浅出设计模式>> 中文版 page 39 页图改)
问题的简单描述:
设计一个软件来显示气象站的数据.
系统分析:
1. 系统分析的目标是:将整个系统分解为若干个子系统,确保子系统间要松耦合,子系统内布局要紧凑。
分解方案:
1. 如上图所示, 整个系统分解为三个部分。气象站、weathe 对象、显示装置
2. 整个系统分解为二部分。气象站、显示装置(因为 weather 对象是不是一个实体, 在气象站和显示装置的交互中可以不考虑)
批判方案:
用文字描述的方案总是会遗漏信息并给人误导。以上的两种方案都包括气象站、显示装置。看不出气象站只是对外表现,增加或移除感应装置会改变气象站的内部功能。
原文:http://www.cnblogs.com/tmortred/p/5272140.html