以下为《GRASP是通用职责分配软件模式》的无排版文字预览,完整格式请下载
下载前请仔细阅读文字预览以及下方图片预览。图片预览是什么样的,下载的文档就是什么样的。
简述
GRASP是通用职责分配软件模式(General Responsibility Assignment Software Patterns)的缩写,能够帮助我们理解基本对象的设计,提高面向对象设计(OOD)的觉悟。
GRASP总共有9中模式分别是:
创建者(Creator)
信息专家(Information Expert)
低耦合(Low coupling)
控制器(Controller)
高某某(High Cohesion)
多态性(Polymorphism)
纯虚构(Pure Fabrication)
间接性(Indirection)
防止变异(Protected Variations)
防止变异(Protected Variations)
问题:如何设计对象,子系统和系统,使其内部的变化或不稳定性不会对其他元素产生不良影响?
解决方案:识别变化或不稳定的地方,分配职责用以在变化地方创建稳定的接口。
低耦合(Low coupling)
问题:怎么降低依赖性,减少变化带来的影响,提高重用性
解决方案:分配职责时,使耦合性尽可 内容过长,仅展示头部和尾部部分文字预览,全文请查看图片预览。 插拔的软件构件?
解决方案:当相关选择或行为随类型有所不同时,使用多态操作为变化的行为类型分配职责。
信息专家(Information Expert)
问题:给对象分配职责的基本原则是什么?
解决方案:把职责分配给具有完成职责所需信息的类。
纯虚构(Pure Fabrication)
问题:当不想违背高某某和低耦合或者其他目标,但是基于专家模式提供的方案又不合适时,哪些对象应该承担这一职责。
解决方案:人为的制造一个类分配一组高某某的职责,该类并不代表问题领域里面的概念,是需要的类,用以支持高某某和低耦合。
控制器(Controller)
问题:在UI层之上接受和协调系统操作的的第一个对象是什么?
控制器是UI层之上的第一个对象,它负责接受和处理系统操作消息。
解决方案:把职责分配给能代表以下选择之一的类:
代表整个"系统",“根对象”,运行软件的设备或主要子系统,这些是外观控制器的所有变体。
代表用例场景,在该场中发生系统事件,通常命名为Handler,Session。
[文章尾部最后300字内容到此结束,中间部分内容请查看底下的图片预览]请点击下方选择您需要的文档下载。
以上为《GRASP是通用职责分配软件模式》的无排版文字预览,完整格式请下载
下载前请仔细阅读上面文字预览以及下方图片预览。图片预览是什么样的,下载的文档就是什么样的。