grasp设计模式应用场景_[软件工程] GRASP设计模式

GRASP 设计模式

GRASP 设计模式

创建者Creator

信息专家Information Expert

低耦合Low Coupling

控制器Controller

高内聚High Cohesion

多态性Polymorphism

纯虚构Pure Fabrication

间接性Indirection

防止变异Protected Variations

1. 创建者(Creator)

问题:谁应该负责创建一个类的新实例?

解决方案:如果满足以下条件之一,则将创建类A实例的职责交给类B(B创建A)。

B包含或组成聚集A

B记录A

B直接使用A

B具有A的初始化数据,并在创建A时,将这些数据传给A

如果有多个类B满足以上条件,一般首选,包含或组成聚集类A的B。

优点:

支持低耦合, 因为A本身对于其创建者B就是可见的(即本身就有关联)所以不会增加耦合性

相关模式:

低耦合

具体工厂和抽象工厂

整体-部分

2. 信息专家(Information Expert)

问题:给对象分配职责的基本原则是什么?

解决方案:将职责分配给信息专家(如果一个类拥有完成某个职责的所有信息,那么他就是这个职责的信息专家)。完成一个职责往往需要不同类中的信息,所以这些局部的信息专家可能需要协作来完成一个职责。

对象的职责:

行为职责:

自身执行一些

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值