再提面向对象分析与设计

浏阳历史网 2021-10-29 04:49:25

先看下Booch对面向对象分析和设计的经典论述:

OOP:面向对象编程是一种实现方法,程序被组织成对象的协作集合,每一个对象代表某个类的实例,对象的类是通过继承关系联合在一起的类层次中的所以成员。

OOD:面向对象设计是一种设计方法,它包含面向对象的分解过程,以及一种表示方法,用来描写设计中的系统的逻辑模型与物理模型,以及静态模型与动态模型。

同时规范违规速递服务企业的经营行为。 OOA:面向对象分析是一种分析方法,它以可在问题域的词汇表中找到的类和对象的观点来审视需求。

经典是经典,不过总是不那么容易实践,我自己在工作中总结了一下面向对象分析和面向对象设计的区别:

1.面向对象分析的关键点,是其产出物能够映射到业务系统的需求。因此,面向对象分析的产物称为业务模型(Business Model)和业务行为,关注在:领域对象(Domain Model),领域服务(Domain Service),以及相关的边界对象(Boundary Object)和控制对象(Controller Object);以及在此之上业务模型交互视图,包括了测量观察行为,以及账目(或类账目)处理行为。此时的设计不涉及任何具体的框架,工具包以及相关处理具体实现技术的对象。

2.面向对象设计的关键是,其产出物能映射到计算机系统的要求。因为,面向对象设计建立在面向对象分析之上,细化业务模型和业务行为,给出面向对象技术的技术实现。表现为结合了大量具体框架,工具包以及相关技术实现对象(以Factory为代表,Factory对象是处理实例化的,而这是计算机系统的概念)。

虽然面向对象分析和设计存在重大区别,然后它们有时并不能被明显区分。面向对象设计是对面向对象分析有限制作用。从实用角度讲,如果分析的成果在转化为设计的成果存在巨大困难时,分析成果的价值是有限的。

以下简单列出自己的面向对象分析设计的实践过程:

1. 分析阶段

分析对象模型,不细化对象模型的抽象和封装

分析业务行为,不细化行为的层次分解

连接对象模型和业务行为,分析相关的各种Specification

初步细化行为的层次分解

初步细化对象模型的抽象层次

分析行为和请求的响应模式

2.设计阶段

设计各种Specification的实现策略

进一步细化行为的层次分解

设计行为和控制器的关联逻辑分解

进一步细化对象模型的抽象体系

结合框架设计行为和请求的响应模式

结合框架设计行为和控制器的关联逻辑分解

西安人流医院哪家医院最好
乌鲁木齐治疗早泄哪家好
南京治疗妇科习惯性流产哪家好
友情链接