第九章 面向对象设计
面向对象设计阶段的目标:
– (1) 设计软件体系结构,定义系统的高层划分,确定主要组件及其接口。
– (2) 详细设计软件类或接口。按照架构模式定义信息系统的边界类、控制类
和实体类,详细设计类的属性和方法,设计程序执行的交互图。
– (3) 设计数据库接口,解决面向对象模型到数据库模型的过渡。
经典的三层结构:
1. 表现层:处理用户和信息系统之间的交互。
• 可以是简单的命令行窗口,也可以功能完善的图形用户界面(胖客户端程序),
如基于 HTML 的浏览器界面(瘦客户端程序)。
2. 业务逻辑 层:也称为领域层或应用层,是信息系统所有和领域相关的工作。
• 如根据输入数据或已有数据进行计算,依赖于数据访问层获取数据或保存数
据,可替换的组件。
3. 数据访问层:一般指与数据库的交互,主要责任是数据库记录的存取。
• 如专门的数据访问类
包:包是一种逻辑分组手段,可以取 UML 模型中的任何一种事物,将相关成分聚在一起,
以构成更高一层的组织单元——包。
包图用来描述包及其依赖关系。当有用于表现层的界面包和用于领域层的包时,表现层包中
的类因为要使用领域包中的领域类提供的服务,所以表示包对领域有依赖关系。
类是构成面向对象系统的基本组成,将类以包为单位分组,每一层中的所有类组成一个包。
软件类是设计阶段中讨论的对象和类,也称为设计类
边界类的职责是完成系统与其参与者之间的交互。
– 接收来自用户和外部系统的信息与请求
– 将信息与请求提交给用户和外部系统
通过用例图可以得知每个边界类至少应该与一个参与者有关,参与者类型不同,边界类的设
计也不同.
实体类来源于领域模型中的类。
实体类是一个软件对象,表示了领域对象的信息,以及具有与它所表示的信息有关的复
杂行为。
实体类反映的信息需要在系统中进行处理,并需要进行持久化存储。
边界类仅负责数据的输入和输出,不应承担和数据处理有关的业务逻辑
边界类通过与实体类的交互,获得有关数据处理的结果
控制类代表协调、排序、事务处理以及对其它对象的控制,经常用于封装与某个具体用例有
关的控制流。
控制类处理和协调主要的动作和控制流,并将任务委派给其它对象。
根据分层原则,控制类不封装与参与者交互有关的内容,也不封装与系统处理的长效持久的
信息有关的问题,这些问题分别由边界类和实体类进行封装。
评论0
最新资源