GRASP设计模式:职责划分与信息专家原则
需积分: 0 112 浏览量
更新于2024-08-04
收藏 20KB DOCX 举报
设计模式1是一种在软件开发中广泛应用的结构化方法,它提供了一套经过验证的解决方案来解决常见问题,使代码更具可复用性、可维护性和灵活性。本摘要将聚焦于几个关键的设计模式概念:
1. **通用职责分配软件模式 (GRASP)**: 这一原则强调每个对象只负责自己的领域或职责,如信息专家模式。这意味着每个类只处理与其内部信息相关的任务,如Sale负责总价计算,而SalesLineItem和ProductSpecification分别负责单个产品价格。这样做的好处是保持了高内聚和低耦合。
2. **创建者模式 (Creator)**: 这个模式定义了创建对象的职责,确保了对象的生命周期与创建它的对象关联。例如,Sale创建SalesLineItem时,会根据需要的数量进行操作,体现了谁拥有创建信息,谁就有责任创建的原则。
3. **低耦合 (LowCoupling)**: 在设计中,应尽可能减少不同组件之间的直接依赖。这可以通过各种方式实现,比如通过方法参数传递、接口实现或继承等,如Sale与Payment和Post的关系。
4. **高内聚 (High Cohesion)**: 内聚度衡量的是一个类或模块内元素间的相关性。高内聚意味着模块内的职责紧密相关,降低了复杂性。如Sale类负责创建Payment和处理总价,体现了一个类的职责集中。
5. **控制器 (Controller)**: 控制器模式用于处理事件,如在没有图形界面的情况下,entereItem事件就需要一个独立的控制器来接收并处理。这种模式有助于保持代码清晰和可维护。
6. **多态性 (Polymorphism)**: 利用多态可以简化代码,避免复杂的条件判断,提高代码的灵活性。通过接口或抽象类,可以使不同的类对同一行为表现出不同的行为。
7. **纯虚构 (Pure Fabrication)**: 针对大型或需多次重用的功能,应该将它们封装成独立的类,以实现高度内聚和增强复用性,即使某个类可能已经符合专家模式。
8. **间接性 (Indirection)**: 间接耦合是指通过引入中间层来替代直接的关联。例如,通过创建一个中间类来处理对象间的交互,可以降低直接耦合,提高系统的灵活性和可扩展性。
通过理解和应用这些设计模式,开发人员可以创建更结构化的代码,提升代码质量,使得软件更易于理解和维护。在实际项目中灵活运用这些原则,能够有效地应对复杂的问题并优化系统架构。
104 浏览量
2021-10-18 上传
525 浏览量
2204 浏览量
584 浏览量
538 浏览量
461 浏览量
ask_ai_app
- 粉丝: 24
- 资源: 326
最新资源
- 掌握Jive for Android SDK:示例应用的使用指南
- Python中的贝叶斯建模与概率编程指南
- 自动化NBA球员统计分析与电子邮件报告工具
- 下载安卓购物经理带源代码完整项目
- 图片压缩包中的内容解密
- C++基础教程视频-数据类型与运算符详解
- 探索Java中的曼德布罗图形绘制
- VTK9.3.0 64位SDK包发布,图像处理开发利器
- 自导向运载平台的行业设计方案解读
- 自定义 Datadog 代理检查:Python 实现与应用
- 基于Python实现的商品推荐系统源码与项目说明
- PMing繁体版字体下载,设计师必备素材
- 软件工程餐厅项目存储库:Java语言实践
- 康佳LED55R6000U电视机固件升级指南
- Sublime Text状态栏插件:ShowOpenFiles功能详解
- 一站式部署thinksns社交系统,小白轻松上手