1、 什么是架构?
确定目标系统的边界后,将整体系统划分为部分,并通过建立部分间相互沟通的机制,让部分再次形成一个有机整体的过程被称为架构。
2、 为什么要出现架构?
(1). 为了提高系统的工作效率与时间效率
(2). 为了最大限度的发挥个体优势
(3). 对系统质量与效率不断提升的追求
3、 架构解决谁的问题?
架构解决的是问题的本质,而问题的本质是“人”的问题,例如,“妈妈让我买酱油”,这个情境中“买酱油”是解决方案,但真正的问题是“我的家里没有酱油了”,因此架构需要来解决这个问题。
4、实例分析:用MVC模式分析自己家庭架构(要求绘制家庭体系架构图)。
(1)介绍家庭成员;
儿子、爸爸、妈妈
(2)介绍家庭业务(例如做饭、洗衣、打扫卫生、刷完等一系列业务)。
做饭、洗衣、打扫卫生、刷碗
(3)介绍谁执行什么业务、怎么做,如何评价业务的效果,评价的标准是什么?
1.妈妈做饭
怎么做:“买菜、洗菜、做菜、蒸米饭”
如何评价:“通过家人吃饭后的反馈评价业务效果”
评价标准:饭菜的可口程度
2.爸爸洗衣
怎么做:“将衣物放进洗衣机,洗完后晾干”
如何评价:“通过晾干后衣物的干净程度来评价”
评价标准:洗衣的干净程度
3.儿子打扫卫生、刷碗
怎么做:“打扫家庭卫生,将使用后的餐具洗净”
如何评价:“通过家庭中卫生程度来反馈评价业务”
评价标准:餐具的洁净程度以及家庭卫生程度
(4)各项业务触发的条件。
到达饭点后触发做饭业务
衣物筐到达一定程度后触发洗衣业务
吃完饭后触发洗碗业务
晚上触发打扫卫生业务
(5)根据(2)、(3)、(4)的描述绘制家庭体系架构图;
(6)代码建模:
①模型类:创建一个family(家中各项业务定义成为方法,家庭成员作为变量)。
②执行类:familyView 是一个把家庭业务执行的视图类(例如做完饭后输出结果 “谁做的饭,做得什么饭”)。
③控制类:familyController,显示是负责存储数据到family对象中的控制器类,并相应地更新视图familyView,即指派谁执行相应的业务,业务之间的关联关系(例如做饭、刷完之间的前后关联关系)。