面向职责的对象设计:GRASP原则与UML应用
需积分: 10 76 浏览量
更新于2024-08-16
收藏 173KB PPT 举报
"基于职责设计对象"
在面向对象设计中,职责分配是非常关键的一个环节,GRASP(General Responsibility Assignment Software Principles)原则提供了一种指导方法,帮助开发者决定方法应归属哪个对象以及对象间如何交互。GRASP包括了五个主要原则或模式,它们是:
1. **控制器(Controller)** - 规定了如何处理用户输入和系统响应的协调职责。
2. **多态(Polymorphism)** - 强调通过接口的一致性来减少耦合度,允许对象根据自身类型进行行为。
3. **信息专家(Information Expert)** - 方法应定义在拥有所需数据或信息的对象上。
4. **低耦合(Low Coupling)** - 尽量减少对象之间的依赖关系,提高系统的可维护性和可扩展性。
5. **高内聚(High Cohesion)** - 确保对象内的方法都与其核心职责紧密相关。
在进行对象设计时,通常会有多种输出产物,这些产物有助于清晰地表达设计思路并辅助后续的实现过程:
1. **UML交互图** - 包括序列图和协作图,描述对象间的交互行为和消息传递顺序。
2. **类图** - 显示类、接口、关联、继承等结构信息,有助于理解类之间的关系。
3. **包图** - 表现模块或组件的组织结构,体现系统的分层和封装。
4. **UI草图和原型** - 展示用户界面的设计和布局,便于用户反馈和迭代改进。
5. **数据库模型** - 描述数据存储的逻辑结构,包括实体、关系和属性。
6. **报表草图和原型** - 为系统生成的报表提供预览,确保满足业务需求。
在设计过程中,开发者可能会进行以下活动:
- **分析制品分析** - 评估已完成的分析阶段产出物,如场景、包图、补充规格说明和词汇表,以理解需求和约束。
- **领域模型构建** - 创建一个反映问题域的模型,包含关键概念和它们的相互关系。
- **UML建模** - 使用UML工具绘制交互图、类图等,可视化设计。
- **CRC卡片(Class Responsibility Collaborator)** - 一种快速迭代设计工具,用于初步定义类的职责和它们之间的协作。
在整个设计流程中,开发者需要权衡各种因素,比如是否直接进入编码,是否需要进行更深入的UML建模,或者是否采用CRC卡片等其他建模技术。重要的是,良好的设计原则训练和对对象思想的理解是成功的关键,而不仅仅是掌握UML或其他建模工具。
2018-10-27 上传
2010-09-05 上传
2021-10-26 上传
2023-07-20 上传
2024-09-15 上传
2023-09-15 上传
2023-05-25 上传
2024-07-18 上传
2023-06-07 上传
永不放弃yes
- 粉丝: 236
- 资源: 2万+
最新资源
- ExtJS 2.0 入门教程与开发指南
- 基于TMS320F2812的能量回馈调速系统设计
- SIP协议详解:RFC3261与即时消息RFC3428
- DM642与CMOS图像传感器接口设计与实现
- Windows Embedded CE6.0安装与开发环境搭建指南
- Eclipse插件开发入门与实践指南
- IEEE 802.16-2004标准详解:固定无线宽带WiMax技术
- AIX平台上的数据库性能优化实战
- ESXi 4.1全面配置教程:从网络到安全与实用工具详解
- VMware ESXi Installable与vCenter Server 4.1 安装步骤详解
- TI MSP430超低功耗单片机选型与应用指南
- DOS环境下的DEBUG调试工具详细指南
- VMware vCenter Converter 4.2 安装与管理实战指南
- HP QTP与QC结合构建业务组件自动化测试框架
- JsEclipse安装配置全攻略
- Daubechies小波构造及MATLAB实现