逻辑架构
--> 细化功能单元,发现通用机制,细化通用机制,细化领域模型;确定子系统接口和 交互机制
开发架构
-->确定要开发或者直接利用的程序包的依赖关系;确定采用的技术;确定采用的框架;
数据架构
--> 持久化数据存储方案;数据传递,数据复制,数据同步等策略
运行架构
-->确定引入那些进程和线程;确定主动对象/被动对象以及控制流关系;
控制进程线程的创建/销毁/通信机制/资源争用等;协议的设计
物理架构
-->确定物理配置方案;确定如何将目标程序映射到物理节点。
原型方法:水平原型(水平抛弃原型/水平演进原型), 垂直原型(垂直抛弃原型/垂直演进原型)
水平原型在一定程度上实现用户交互的界面布局和界面流转逻辑。垂直原型的一个隐喻是垂直切片,它涉及到不同的曾,将为数不多的(至少一个)功能真正实现出来。
Templae Method 与Strategy Method进行比较:
相同点: 行为型;目的都是为了方便改变算法
不同点: 发现方式不同,前者使用继承,成为类继承 ;后者使用委托,成为对象模式。
Template Method基于继承改变算法的一部分;Strategy使用委托改变整个算法。
OOP/OOD区别
OOP: 类/成员变量/成员函数;代码重用和名字空间的可见性。
OOD: 类/职责/状态/角色等这些更抽象的概念, 及其相关的耦合度/聚合度/可重用性/可扩展性/可维护性.
模式分类法;
--> 这个模式为何项工作服务
--> 这个模式是通用的,还是针对具体领域的
--> 这个模式应该推崇,还是避免的