博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
GRASP设计模式
阅读量:6776 次
发布时间:2019-06-26

本文共 973 字,大约阅读时间需要 3 分钟。

hot3.png

    此文参考了,建议读者阅读原文。

    面向对象(Object-Oriented,OO)是当下软件开发的主流方法。在OO分析与设计中,我们首先从问题领域中抽象出领域模型,在领域模型中以适当的粒度归纳出相关的类;然后定义各个类之间的关联关系,并给这些类分配相应的职责,同时定义这些类之间的协作方式。将相应的职责分配给具体的类是OO过程中非常重要的一步。GRASP设计模式是职责分配过程中的一套非常重要的设计模式。它给出了在给类分配职责的过程中,设计者们所需要遵从的一些原则或者指导性的建议

    GRASP不是平时说的GoF(Gang of Four)的23种设计模式。GRASP设计模式描述的是在OO设计中为互相协作的类分配职责的原则或者建议,而GoF的设计模式则是在更高的层次上描述一个OO系统或者其局部系统的行为以及结构上的抽象。GRASP与GoF最大的区别是它描述的是互相协作的多个类间职责分配的原则或者建议。

    GRASP设计模式的全称是General Responsibility Assignment Software Patterns,即通用职责分配软件模式。它定义了9个基本的OO设计原则或基本的设计构件。这9个设计模式分别是:

  • 创建者(Creator)
  • 信息专家(Information Expert)
  • 低耦合(Low Coupling)
  • 控制器(Controller)
  • 高内聚(High Cohesion)
  • 多态性(Polymorphism)
  • 纯虚构(Pure Fabrication)
  • 间接性(Indirection)
  • 防止变异(Protected Variations)

GRASP是对象职责分配的基本原则,其核心思想是职责分配(Responsibility Assignment),用职责设计对象(Designing Objects with Responsibilities)

 

Reference:

  1. https://blog.csdn.net/langjian2012/article/details/42716649
  2. https://blog.csdn.net/lhypang2006/article/details/1655389

转载于:https://my.oschina.net/u/2518341/blog/2250381

你可能感兴趣的文章
【.NET开发之美】使用ComponentOne提高.NET DataMap中的加载速度
查看>>
slf4j配置和使用
查看>>
awk 用法(自己笔记)
查看>>
关于Spring 中的context:annotation-config
查看>>
mysql报Table 'XXX' is specified twice, both as a target for 'UPDATE'....
查看>>
端口80被占用,却死活找不到占用端口的程序
查看>>
java实现邮箱验证的功能
查看>>
制作可以随身携带的系统盘
查看>>
Google决定用gLinux取代Goobuntu Linux操作系统
查看>>
shiro配置文件
查看>>
laravel请求生命周期
查看>>
亚洲诚信带你玩转[2018国家网络安全宣传周]上海地区活动!
查看>>
02. react 初次见面---JSX简介
查看>>
spring 注解@Autowired 与 @Resource 的区别
查看>>
FastDFS和Nginx实现分布式文件服务器
查看>>
在 MaxCompute UDF 中运行 Scipy
查看>>
8月27日科技联播:滴滴5000亿上市计划或受影响,高德地图暂时下线顺风车业务...
查看>>
网站漏洞修复对phpmyadmin防止被入侵提权的解决办法
查看>>
Linux常用
查看>>
js判断对象还是数组
查看>>