1、 什么是架构?
答:由于时间和能力的有限性,参与者为了完成复杂系统的目标而主动进行分工,并建立好机制合并,使得问题和任务高质量解决来满足人们需求。而根据要解决的问题,主动地去规划、分工、合并问题的过程及解决问题的方案就是架构。
2、 为什么要出现架构?
答:
1)每个人能力的有限性
2)时间有限性
3)系统目标的复杂性
4)人们对系统目标高质量的追求
3、 架构解决谁的问题?
答:架构解决人的问题
而架构师解决的基本是别人的问题
4、实例分析:用MVC模式分析自己家庭架构(要求绘制家庭体系架构图)。
1)介绍家庭成员;
父亲、母亲、弟弟、我
2)介绍家庭业务(例如做饭、洗衣、打扫卫生、刷完等一系列业务)。
做饭、洗衣、打扫卫生、刷碗
3)介绍谁执行什么业务、怎么做,如何评价业务的效果,评价的标准是什么?
谁 | 业务 | 怎么做 | 如何评价业务效果 | 评价标准 |
母亲 | 做饭 | 买菜-洗菜-炒菜 | 饭菜可口程度、量合适程度 | 饭菜是否适量、符合大众口味 |
父亲 | 洗衣 | 收衣服-洗衣服-晾衣服 | 衣服干净程度 | 衣服是否无异味、无污渍 |
我 | 刷碗 | 收碗筷-洗碗筷-放碗筷 | 碗筷干净程度 | 碗筷是否无油渍、无异味 |
弟弟 | 打扫卫生 | 擦灰-扫地-拖地 | 地板干净程度 | 地板是否干净无灰尘 |
(4)各项业务触发的条件。
业务 | 触发条件 |
做饭 | 到饭点 |
洗衣 | 有脏衣服 |
刷碗 | 饭后 |
打扫卫生 | 有灰尘 |
5)根据(2)、(3)、(4)的描述绘制家庭体系架构图;
6)代码建模:
①模型类:创建一个family(家中各项业务定义成为方法,家庭成员作为变量)。
②执行类:familyView 是一个把家庭业务执行的视图类(例如做完饭后输出结果 “谁做的饭,做得什么饭”)。
③控制类:familyController,显示是负责存储数据到family对象中的控制器类,并相应地更新视图familyView,即指派谁执行相应的业务,业务之间的关联关系(例如做饭、刷完之间的前后关联关系)。
免责声明:本文系网络转载或改编,未找到原创作者,版权归原作者所有。如涉及版权,请联系删