UML学习——GRASP:基于职责设计对象

1.模式的定义:有经验的OO开发者(以及其他的软件开发者)建立了既有通用原则又有惯用方案的指令系统来指导他们编制软件。如果以结构化形式对这些问题、解决方案和命名进行描述使其系统化,那么这些原则和习惯用法就可以成为模式。

~~模式具有名称。GRASP模式陈述的并不是新思想,而只是为广泛使用的进本原则命名并将其汇总起来。

(一)创建者(creator)模式

1.定义:

名称:创建者(creator)

问题:谁创建了A

解决方案(可被视作建议):如果一下条件之一为真时(越多越好),将创建类A实例的职责分配给B:

B“包含”或组成聚集了A、B记录A、B紧密地使用A、B具有A的初始化数据。
【注】A和B指定是软件对象,而不是领域模型对象。

0f2f68b2c98b48ebb647d57510f3290c.png

(二)信息专家(information expert

 

(三)低耦合(low coupling)模式

1.耦合是对某元素与其他元素之间的连接、感知和依赖程度的度量。具有低耦合的元素不会过度依赖于其他元素。

(四)高内聚(high cohesion)模式

1.内聚(更专业的说,是功能内聚)是对元素职责的相关性和集中度的度量。如果元素具有高度相关的职责,且没有过多工作,那么该元素具有高内聚性。

 

(五)控制器(controller)模式

1.定义:控制器是UI层之上的第一个对象 ——负责接受和处理系统操作消息。控制器模式考虑的问题是:在UI层之上首先接收和协调(控制)系统操作的第一个对象是什么。

2.解决方案:把职责分配给能代表一下选择之一的类:

(1)代表整个“系统”、“根对象”、运行软件的设备或主要子系统,这些事外观控制器的所有变体。

(2)代表用例场景,在该场景中发生系统事件,通常命名为<UseCaseName>Handler或<UseCaseName>Coordinator或<UseCaseName>Session。

(3)对于同一用例场景的所有系统事件使用相同的控制器类。

(4)会话是与参与者进行交谈的实例。会话可以具有任意长度,但通常按照用例来组织(用例会话)

 

整理不易,亲亲点个赞呗~~

 

  • 7
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值