设计模式学习之GRASP通用职责分配软件模式

来源:互联网 发布:别墅装修设计软件 编辑:程序博客网 时间:2024/06/08 04:48

        通用职责分配软件模式GRASP(General Responsibility Assignment Software Patterns)是面向对象设计中的基本设计模式.。GRASP描述了有关对象设计和职责分配的最基本的指导原则,表的了镭射机中的职责分配的基本原则。

       通用职责分配软件模式分别包括5个基本的模式和4个扩展的模式。

       5个基本的模式:

       信息专家模式:如果某个类拥有完成该指责需要的所有信息,那么这个职责就应该分配给这个类来实现和承担。这个类就是相对于这个职责的信息专家(Information Expert)类。这样能够产生低耦合的设计效果,还能够产生高内聚的设计结果。

      创建者模式:这个模式主要是帮助软件系的设计人员确定创建对象的职责具体有那个累来承担,也就是某个类的对象实例应该有那个相关的类来创建或者同意有某个类集中创建,以避免系统中的不同模块都涉及对该类的对象进行对象实例化,从而是的耦合关系编辑整个系统中的各个不同功能模块。这样可以封装创建对象的功能实现逻辑的细节,可以封装创建逻辑的变化。

      低耦合模式:这个模式要求软件系统在设计和开发时,其中的各个模块、功能类都不应该过度的依赖于他周围的环境,他所关联的其他模块后者类。当软件系统各个模块之间具有较低的耦合关系是,僵尸的各个模块更易于重用到其他功能类似的环境中,从而提高可重用度。降低类之间的耦合度的一个常用的技术手段是应用抽象层次。即加入抽象类。

      高内聚模式:能够使应用系统中的各个模块(功能、类各尽其能)并进行工作。该系统中的某一个模块应该具有与自己高度相关的职责。高内聚设计的结果体现为应用系统中的各个功能模块是相互独立和分离的。

      控制器模式:这是链接图形用户界面对象和业务领域对象的纽带。主要指导系统的设计人员如何将应用系统中处理系统时间消息的职责分派给特定的类,该类接受秦秋并控制对请求的处理。

        4个扩展模式。

        多态模式:指当国歌相关的可u现则方法或行为随着对象类型的变化而变化时,应该讲实现该方法或行为的职责分配各行为变化类型的对象来承担。

       纯虚构模式:在高内聚和低耦合的设计目标中,内聚和耦合是矛盾对立的,可以用纯虚构模式来指导具体的设计实现,并由一个纯虚构的类来协调内聚的关系。因为在许多应用情况下,提供一个抽象类更有利于进行个性化功能的扩展;而且抽象类的层次越高,个性化功能的代码就越有弹性月容易适应变化。

        中介模式:该模式知道软件系统的设计人员将职责分配给某个重甲组件对象,已达到协调组件之间或服务之间的关系,或者分离两个紧密关联的组件的目的,是的他们不直接产生耦合关系,从而实现低耦合的关联。其实这个中间对象也是纯虚构出来的,是纯虚构模式的具体应用。

        受保护变化模式:应用受保护变化模式的主要目的是隔离和封装变化的效果,对不确定因素用稳定不变的接口来进行封装、隔离和保护,从而使得这个鞋元素中变化或不稳定的部分不会对应用系统的其他部分产生不利的影响。

原创粉丝点击