UML-如何使用GRASP进行对象设计?-例子

1、创建者(Creator)

问题:谁创建类A?
答:来自领域模型、设计模型(交互图、类图)

2、信息专家

问题:给对象分配职责的基本原则是什么?
回答:谁具有完成该职责的信息,谁负责该职责。

因为根据图17-5知道,board汇集了square的信息。即board对square门清。

3、低耦合

为啥专家把获取Square的职责分配给了Board?而不是Dog?

除了board对square门清以外,就是低耦合。那什么叫低耦合呢?就是类之间的关联要小些,即当变化功能时,不要改变过多的类。

问题:如何减少因变化产生的影响?
方案:分配职责,降低耦合度(不必要的耦合去掉)。

4、控制器

就是MVC中的C。在V(视图层)和M(领域层)之间搭建桥梁。

5、高内聚

耦合是类之间的,内聚是类内部的。

A:一个类内部有100个方法2000行代码

B:一个类内部有10个方法200行代码

以上那个好?当然是B好,因为A基本把所有事都做了,难维护。A叫低内聚,B叫高内聚。

 

转载于:https://www.cnblogs.com/yaoyuan2/p/11101943.html

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值