GRASP(General Responsibility Assignment Software Pattern,即通用职责分配软件模式), 由《Applying UML and Patterns》一书作者Larman提出,站在面向对象设计的角度,描述怎样设计问题空间中的类与分配它们的行为职责,以及明确类之间的相互关系等。GRASP是对象职责分配的基本原则,其核心思想是Responsibility Assignment(职责分配),用职责设计对象(Designing Objects with Responsibilities)。
GoF(Gang of Four)模式是遵循着GRASP模式的,GOF设计模式分为23种:
5种创建型模式:工厂方法模式、抽象工厂模式、单例模式、建造者模式、原型模式。
7种结构型模式:适配器模式、装饰器模式、代理模式、外观模式、桥接模式、组合模式、享元模式。
11种行为型模式:策略模式、模板方法模式、观察者模式、迭代模式、责任链模式、命令模式、备忘录模式、状态模式、访问者模式、中介者模式、解释器模式。

GRASP V.S GoF:
GRASP是站在一个更高的角度来看待面向对象软件的设计,它是GoF设计模式的基础GoF模式一样是针对特定问题而提出的解决方案,它是在GRASP模式基础之上建立的

设计模式-GRASP V.S GoF相关推荐

  1. grasp设计模式应用场景_设计模式 GRASP GoF

    借用公开课 Justice 中的话,了解设计模式不一定能让我们解决软件设计与开发中的问题,但能让我们在遇到问题时,思考的方式不至鲁莽与茫然. 五大设计原则 面向对象软件设计具有五大基本原则(首字母缩写 ...

  2. [软件工程-设计模式] GRASP软件设计的模式和原则

    GRASP 模式 前言 1. 信息专家 (Information Expert) 2. 创造者(Creator) 3. Low coupling (低耦合) 4. High cohesion (高内聚 ...

  3. 前端MVC设计模式VSM,V,VM设计模式

    前端MVC设计模式         MVC设计模式:实际上就是把前端实现一个业务功能的代码划分为3部分 Model : 模型 , 指数据模型 对应的是从服务器获取到数据的部分代码. View: 视图 ...

  4. GOF 面向对象 23 种设计模式详解

    GOF 设计模式 笔记总结自 GOF 的 <Design Patterns - Elements of Reusable Object-Oriented Software>,Erich G ...

  5. 设计模式简介及GoF 23种模式的分类(两种分类方式)

    一.设计模式(Design Patterns)简介: 设计模式代表了最佳实践,通常被有经验的面向对象的开发人员使用. 设计模式是程序猿在软件开发过程中面临的一般问题的解决方案. 设计模式是一套反复使用 ...

  6. GRASP通用职责分配软件模式

    1.  概述 它的核心思想是"职责分配(Responsibility Assignment)".GRASP提出了几个基本原则,用来解决面向对象设计的一些问题. Craig Larm ...

  7. 详解设计模式之工厂模式(简单工厂+工厂方法+抽象工厂)

    园子里关于23种设计模式的博文已经可以说是成千上万.车载斗量.屯街塞巷.不计其数.数不胜数.摩肩接踵.汗牛充栋.车水马龙.门庭若市.琳琅满目直至让人眼花缭乱了.在这样的大环境下之所以来写设计模式类的博 ...

  8. Android设计模式之——访问者模式

    一.介绍 访问者模式是一种将数据操作与数据结构分离的设计模式,它是<设计模式>中23种设计模式中最复杂的一个,但它的使用频率并不高,正如<设计模式>的作者GOF对访问者模式的描 ...

  9. GRASP设计原则(职责分配原则)

    GRASP设计原则(职责分配原则) GRASP(General responsibility assignment software Principle)设计原则是设计模式的基础,在GOF的23中设计 ...

  10. 软件工程笔记:通用职责分配模式(grasp)

    通用职责分配模式(grasp) - 笔记整理自 北京理工大学 计算机学院 什么是GRASP? General Responsibility Assignment Software Patterns(通 ...

最新文章

  1. 面试官:说说Spring Cloud底层原理?
  2. 拖拖拽拽画JAVA报表?
  3. 9.6-OOP语言 对接口和抽象类的理解
  4. Nutch爬虫解决页面相对路径问题
  5. 化工设备与反应器 第三章 直梁的弯曲
  6. C# 类、对象、方法和属性详解(重新排版,页面整洁)
  7. 辽源天气预报软件测试,辽源天气预报15天
  8. [Python] L1-040. 最佳情侣身高差 团体程序设计天梯赛GPLT
  9. linux shell脚本监控进程崩溃自动重启
  10. 用php设置留言无数据库_PHP留言板无数据库版
  11. 公式经纬度换算度分秒,度分秒换算经纬度
  12. 爬虫(二)—解析真实网页(猫途鹰)
  13. java pdf 转tif_使用java对pdf转成tiff文件
  14. 网络安全——ARP欺骗与突破封锁
  15. 下面哪些不是java的原始数据类型_以下哪个不是Java的原始数据类型()A? – 手机爱问...
  16. 搭建SPA项目SPA项目中使用路由嵌套路由
  17. HTML 星空动图背景(canvas+JS)
  18. pymysql模块安装后,import pymysql找不到?
  19. 数字化时代,全方位解读商业智能BI
  20. M: Triangular Relationship (数论)

热门文章

  1. 【Linux】linux查看GPU信息
  2. Android 微信支付
  3. shared pool 和buffer pool 详解(之二, Cache Buffers LRU Chain、Cache Buffers LRU Chain闩锁竞争与解决)
  4. #学习笔记#什么是Servlet?
  5. MySQL配置文件配置
  6. SQL Server学习之路(一):建立数据库、建立表
  7. ocp认证考试报名_2019年OCP认证在线考试网_OCP题库
  8. ndk编译libiconv
  9. Xcode8 - apploader 上传失败 - ERROR ITMS-90168: The binary you uploaded was invalid.
  10. 近世代数--陪集--拉格朗日定理|G|=|H|·[G:H],传递性[G:H][H:K]=[G:K]