面对一个复杂的系统,如何运用面向对象的设计思想将系统设计成易维护,可扩展是一件比较有挑战的事情。
如何解决系统大问题
- 聆听客户,找出他们需要你构建什么。
- 用客户能理解的语言组合功能列表。
- 确认你描述的功能,是客户真正想要的。
- 运用用例图(以及用例)创建系统蓝图。
- 将系统分解成许多较小的部分。
- 将设计模式运用到系统中较小的部分。
- 运用基本的OOA&D为每一个较小的部分设计程序。
OO原则
- 将变化之物封装起来
- 对接口编码,而不是对实现
- 应用程序的每一个类只有一个理由改变
- 类是关于行为与功能的
本节要点
- 看待大问题方式是将他视为一组较小问题的集合
- 就像在较小的项目中那样,从收集功能和需求开始进行大项目
- 用例是面向细节的,而用例图是聚焦在整体轮廓上的
- 你的用例图应该顾及系统的所有功能
- 领域分析以客户理解的语言表示系统
- 参与者是与系统交互但不一定是系统中一部分的任何事物
- 共同性和变化性给予你在新系统与已知事物之间相互比较的观点