第6章 什么是面向对象设计
一、OOA与OOD的关系:
1、从OOA到OOD不是转换,而是调整和增补。OOA作为OOD模型的问题域部分;增补其它四个部分,成为完整的OOD模型。
2、采用一致的概念和表示法,不存在分析与设计之间的鸿沟
3、有不同的侧重点和不同的策略:
OOA主要针对问题域,识别有关的对象以及它们之间的关系,产生一个映射问题域,满足用户需求,独立于实现的OOA模型。
OOD主要解决与实现有关的问题,基于OOA模型,针对具体的软、硬件条件(如机器、网络、OS、GUI、DBMS等)产生一个可实现的OOD模型。
“dothe right thing (analysis), and do the thing right (design)”.
4、基本思想:
①尽可能隔离实现条件对系统的影响,提供独立的接口;
②对不可隔离的因素,按实现条件调整OOA模型。
二、架构设计:
1、什么是架构模式?
一种架构模式表达多个软件系统的一个基础结构组织图(方案)。它提供一组预定义的子系统, 详述其职责, 以及用于组织其间关系的规则和指南。
2、架构模式分类:
①从混沌到结构:层(Layer)、管道和过滤器(Pipes and Filters)、黑板(Blackboard);
②分布式系统:代理(Broker);
③交互式系统:模型-视图-控制器(Model-View-Controller);
④适应性系统:反射(Reflection)、微内核(Microkernel)。