GRASP设计模式:职责划分与信息专家原则

需积分: 0 0 下载量 114 浏览量 更新于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)**: 间接耦合是指通过引入中间层来替代直接的关联。例如,通过创建一个中间类来处理对象间的交互,可以降低直接耦合,提高系统的灵活性和可扩展性。 通过理解和应用这些设计模式,开发人员可以创建更结构化的代码,提升代码质量,使得软件更易于理解和维护。在实际项目中灵活运用这些原则,能够有效地应对复杂的问题并优化系统架构。