首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

面向对象设计的九大基本原则 (GRASP)

GRASP,职责分配软件模式,General Responsibility Assignment Software Patterns,】,是面向对象设计和职责分配中的九个基本原则,最早是在克雷·拉蒙1997...GRASP中提到的模式和原则包括有控制器(controller)、创建者(creator)、中介(indirection)、信息专家(information expert)、低耦合性(low coupling...因此,GRASP原则是心理层面的工具集,在面向对象软件设计学习上的辅助工具。 模式 在面向对象设计中,设计模式是针对问题以及其解决方案一个有命名的描述方式,可以应用在不同的情境中。...在信息系统逻辑架构的面向对象系统中,若应用程序在应用层/服务层和业务逻辑之间有明确的分隔,GRASP控制器可以视为是应用层或是服务层的一部分。 相关模式或原则:命令模式、外观模式、层、纯虚构。

96520
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    面向对象设计的九大基本原则 (GRASP)

    GRASP,职责分配软件模式,General Responsibility Assignment Software Patterns,】,是面向对象设计和职责分配中的九个基本原则,最早是在克雷·拉蒙1997...GRASP中提到的模式和原则包括有控制器(controller)、创建者(creator)、中介(indirection)、信息专家(information expert)、低耦合性(low coupling...因此,GRASP原则是心理层面的工具集,在面向对象软件设计学习上的辅助工具。 模式 在面向对象设计中,设计模式是针对问题以及其解决方案一个有命名的描述方式,可以应用在不同的情境中。...在信息系统逻辑架构的面向对象系统中,若应用程序在应用层/服务层和业务逻辑之间有明确的分隔,GRASP控制器可以视为是应用层或是服务层的一部分。 相关模式或原则:命令模式、外观模式、层、纯虚构。

    1.6K20

    OOAD-设计模式(二)之GRASP模式与GOF设计模式概述

    一、GRASP模式(通用责任分配软件模式)概述 1.1、理解责任   1)什么是责任     责任是类间的一种合约或义务,也可以理解成一个业务功能,包括行为、数据、对象的创建等     知道责任...二、GRASP模式的分类   作用/则重点:完成责任分配(以及分配责任的时候需要注意的点)   GRASP模式也是遵循基本的设计原则的(也就是说GRASP模式是在基本设计原则基础之上建立的)。...三、COF设计模式概述     作用/则重点:代码的结构/完成的功能(以及这种结构的代码能解决哪一类问题)   GOF模式是遵循着GRASP模式的(也就是说GOF是在GRASP模式基础之上建立的

    1.7K100

    【愚公系列】2023年11月 通用职责分配原则(一)-信息专家原则(Information Expert Principle)

    GRASP与GOF(Gang of Four)模式的区别在于,GOF模式是一组特定的设计模式,提供了常见问题的解决方案,而GRASP则是一组通用的解决问题的原则,帮助设计者确定系统中各个类的职责和交互方式...具体而言,GRASP提供了以下指导原则:Creator:谁创建了对象,谁就应该负责管理对象之间的关系。Controller:将系统的控制逻辑集中到一个对象中。...GRASP提供了一些通用的、可重用的模式,可以帮助设计者更好地理解和应用面向对象设计原则。与GOF模式相比,GRASP更注重职责分配和交互方式的设计,而不是具体的模式实现。...GRASP软件设计模式包括9个模式:创建者、信息专家、低耦合、控制器、高内聚、多态性、纯虚构、间接性、防止变异。...一、信息专家原则(Information Expert Principle)通用职责分配原则的信息专家原则(Information Expert Principle),是指将某种特定行动的职责分配给掌握有关信息的专家

    21411

    遮挡重叠场景下|基于卷积神经网络与RoI方式的机器人抓取检测

    为了训练网络,我们提供了比Cornell Grasp Dataset更大的多对象抓取数据集,该数据集基于Visual Manipulation Relationship Dataset。...对VMRD的抓取比Cornell Grasp Dataset具有更复杂的分布。 众所周知,这是第一次将对象和抓取检测结合起来检测每个抓取属于对象重叠场景的对象。...他们将抓取视为一种特定的对象并转移对象检测算法来检测抓取,这些抓取实现了单一对象抓取数据集(如Cornell Grasp Dataset和CMU Grasp Dataset )的最先进性能。...Chu等人和Zhou等人 还探讨了在现实世界的多物体场景中训练的Cornell Grasp Dataset深度抓取检测网络的性能,物体之间没有重叠。...度量标准 我们的算法侧重于检测对象重叠场景中的目标和掌握。因此,仅评估Cornell Grasp Dataset等检测结果的准确性是不够的。

    2.1K10

    在SQL Server2016中创建管家婆软件账套

    找到软件安装目录data文件夹里面的Grasp92文件。...常规对应的选项中,目标数据库可以手动新建为Grasp92,还原的源选择为:源设备,指定备份为软件安装目录下面data文件夹下面的Grasp92,文件类型:所有文件* 才能选择到。...还原成功之后就可以在数据库列表里面找到Grasp92这个数据库右键任务——备份——单独备份一份。...备份时选择完整备份,路径默认是软件安装目录下面的data 文件夹里面,此处建议是删除路径单独选择备份路径和备份文件名称,文件名称是Grasp92。...注意: 1.用于还原数据的Grasp92文件需要从没有创建过账套的安装目录下面去拷贝使用; 2.还原Grasp92数据库步骤需要在2008r2数据库里面操作处理,不能在sql2000中操作, 3.在2012

    4K80

    做机器人算法工程师是怎样一种体验?

    (比如一个简单圆柱体大概得到3000+个不同grasp) 然后呢,当然要把这些grasp在仿真里面显示出来当时实验室在使用一款叫RobotToolKit,的自己开发的机器人仿真软件,没有说明文档,没有人有太多时间教你...,恰好IK(逆运动学)可以找到合适的关节角总之,3000个grasp,做了一下分类(简单clustering), 最终挑选出还能看的也就下图20个为了这20个grasp,我几乎花了两三个月的时间但最终也算知道这个仿真软件的一些基本东西了...,其中又有无数的hacking基本上一个做grasp的走完这一步,已经要怀疑人生了 ?...在这个hacking的世界里,我折腾了大半年,看看下图的手指末端的海绵,还有程序中各种小的技巧,总算也可以用KUKA LWR加上Barrett hand做点简单的grasp了 ?...有用的信息并且用到grasp里面去但是什么是对grasp有用的呢?

    2.5K90

    掌握C语言

    重点讲讲需要攻克的七个方向: 1.掌握C语言 虽然你只有很小概率在工作之后用到它,但它依然无比重要。C Primer反复看,然后一行行在电脑上敲出来。...2.掌握一门高级语言 大学期间除了牢牢掌握C语言之外,还需要掌握最少一门高级语言。可以是C++、Java、Python、HTML+CSS+JS中的任意一个。...比如C++,科班出身最好牢牢掌握C++: C++语言高级特性:运算符重载(一元运算符、二元运算符、运算符重载难点、项目开发中的运算符重载)、多继承及其二义性、虚继承、多态、函数模板、类模板,模板的继承、...这本书诙谐有趣,在不知不觉中让你掌握了数据结构 再推荐一本稍稍难一点的《数据结构和算法分析》。 6.操作系统 只要我们使用计算机,就会和操作系统打交道,接受它的审核与反馈。...7.计算机网络 如果未来想加入互联网行业,计算机网络这门课程就需要重视起来,HTTP、HTTPS、DNS、ARP、TCP、IP、ICMP、UDP、FTP、SMTP等概念要牢牢掌握

    40820

    【愚公系列】2023年11月 通用职责分配原则(六)-多态原则(Polymorphism Principle)

    欢迎 点赞✍评论⭐收藏前言GRASP(General Responsibility Assignment Software Patterns)通用职责分配软件模式是一组用于面向对象设计的指导原则,旨在帮助设计者确定系统中各个类的职责和交互方式...GRASP与GOF(Gang of Four)模式的区别在于,GOF模式是一组特定的设计模式,提供了常见问题的解决方案,而GRASP则是一组通用的解决问题的原则,帮助设计者确定系统中各个类的职责和交互方式...具体而言,GRASP提供了以下指导原则:Creator:谁创建了对象,谁就应该负责管理对象之间的关系。Controller:将系统的控制逻辑集中到一个对象中。...GRASP提供了一些通用的、可重用的模式,可以帮助设计者更好地理解和应用面向对象设计原则。与GOF模式相比,GRASP更注重职责分配和交互方式的设计,而不是具体的模式实现。...GRASP软件设计模式包括9个模式:创建者、信息专家、低耦合、控制器、高内聚、多态性、纯虚构、间接性、防止变异。

    16711

    【愚公系列】2021年12月 通用职责分配原则(一)-信息专家原则(Information Expert Principle)

    文章目录 前言 一、信息专家原则(Information Expert Principle) 二、使用步骤 示例 ---- 前言 GRASP:General Responsibility Assignment...首先我们先来区分下GRASP与GOF模式的区别,它们主要在什么时候用,用来做什么。在软件开发过程中,我们常说面向对象开发,面向对象思想应该贯穿整个软件开发生命周期。...我们在将现实世界中的业务对象及业务功能抽象成软件系统中的系统对象过程中应该遵循使用GRASP模式。而在具体技术实现上应该遵循使用GOF设计模式,来实现系统功能。...即GRASP主要使用在分析设计阶段,与具体技术无关;而GOF模式主要使用在开发阶段,与具体技术相关,它是对GRASP设计成果进行实现时而使用,是一种开发阶段的设计模式。...GRASP软件设计模式包括9个模式:创建者、信息专家、低耦合、控制器、高内聚、多态性、纯虚构、间接性、防止变异。

    38640
    领券