Atitit GRASP(General Responsibility Assignment Software Patterns),中文名称为"通用职责分配软件模式" 1. GRASP (职责分配原则)1 1.1. GRASP设计模式 1 1.2. 9个基本的OO设计原则或基本的设计构件.这9个设计模式分别是:创建者(Creator).信息专家(Information Expert).低耦合(Low Coupling).控制器(Controller).高内聚(High Cohesion…
转自:http://www.cnblogs.com/sevenyuan/archive/2010/03/05/1678730.html 及:http://blog.csdn.net/lovelion 及:http://blog.sohu.com/s/Mzc2Nzc5MjU/239020230.html 在OO分析与设计中,我们首先从问题领域中抽象出领域模型,在领域模型中以适当的粒度归纳出相关的类:然后定义各个类之间的关联关系,并给这些类分配相应的职责,同时定义这些类之间的协作方式.将相应的职责分…
1.GRASP原则一: 创建者 Creator  Who should be responsible for creating a new instance of some class 由谁来负责创建某个类的新实例(对象)1.1 GRASP 原则  GRASP  General Responsibility Assignment Software Patterns  初学对象技术的同学,在编码或绘制交互图和类图时,应该理解并应用 GRASP的内在思想, 以便尽快地掌握这些基本原则,它们是…
要学习设计模式,有些基础知识是我们必须要先知道的,设计模式是关于类和对象的一种高效.灵活的使用方式,也就是说,必须先有类和对象,才能有设计模式的用武之地,否则一切都是空谈,那么类和对象是从那冒出来的呢?这时就需要比23种设计模式更重要更经典的GRASP模式登场了,嘿嘿,原来这才是老大! GRASP(General Responsibility Assignment Software Patterns),中文名称为“通用职责分配软件模式”,GRASP一共包括9种模式,它们描述了对象设计和职责分配的…
GRASP (职责分配原则) 要学习设计模式,有些基础知识是我们必须要先知道的,设计模式是关于类和对象的一种高效.灵活的使用方式,也就是说,必须先有类和对象,才能有设计模式的用武之地,否则一切都是空谈,那么类和对象是从那冒出来的呢?这时就需要比23种设计模式更重要更经典的GRASP模式登场了,嘿嘿,原来这才是老大! GRASP(General Responsibility Assignment Software Patterns),中文名称为"通用职责分配软件模式",GRASP一共包括…
Go Concurrency Patterns: Timing out, moving on  GO并发模式: 超时, 继续前进 23 September 2010 Concurrent programming has its own idioms. A good example is timeouts. Although Go's channels do not support them directly, they are easy to implement. Say we want to…
GNU, Free Software and Open Source 自由软件与开源软件 https://blog.csdn.net/icycolawater/article/details/77921998 什么是自由软件 Free software https://www.gnu.org/philosophy/free-sw.html 此处给出自由软件的定义,用以衡量一款软件是否为自由软件.一直以来,我们不断改进这个定义,以此澄清并解决我们遇到的各种问题.参考下方的修改历史,我们详细列出了全…
参考:http://www.elecfans.com/dianzichangshi/mcu.html 什么是mcu_mcu是什么意思 标签:MCU(471)单片机(3098)微控制器(503) MCU(Micro Control Unit)中文名称为微控制单元,又称单片微型计算机(Single Chip Microcomputer)或者单片机,是指随着大规模集成电路的出现及其发展,将计算机的CPU.RAM.ROM.定时计数器和多种I/O接口集成在一片芯片上,形成芯片级的计算机,为不同的应用场合做…
原文地址:http://blog.csdn.net/jinzhuojun/article/details/13297447 虽然摩尔定律让我们的计算机硬件得以以指数速度升级,但反摩尔定律又不断消减这些升级所带来的好处.其原因之一就是面对硬件的更新换代,程序员似乎不用再对内存“精打细处“了.而近年来随着穿戴式设备和大数据平台的兴起(一个是内存本身受限,一个是对内存的需求巨大),让内存的有效利用又成为了值得开发人员关注的热点. <Small MemorySoftware: Patterns For…
目录 · Strategy · When to use the Strategy Design Pattern? · Sample Code · Observer · When to use the Observer Design Pattern? · Sample Code · Command · What is the Command Design Pattern? · Benefits of the Command Design Pattern. · Sample Code · Templ…
目录 · 概述 · Factory · What is the Factory Design Pattern? · Sample Code · Abstract Factory · What is the Abstract Factory Design Pattern? · What can you do with an Abstract Factory Design Pattern? · Sample Code · Singleton · What is the Singleton Desig…
GRASP 模式:每一个模式描述了一个在我们周围不断重复发生的问题,以及该问题的解决方案的核心.”这是关于模式最经典的定义,作者是建筑大师Christopher Alexander.如果是第一次看到这句话,多数人会觉得有些抽象难懂.其实“模式”两个字只是一个代号,就像我的英文名字叫Justin,如果我改叫Tom也没什么问题,只是我更喜欢Justin这个名字,所以从Christopher开始,有了“模式”这个词,人们也都把关于“重复发生的问题的描述和解决办法”统称为模式.“模式”这个词是不局限于软…
1.定义 GRASP:General Responsibility Assignment Software Pattern,即通用职责分配软件模式,使用职责进行OO设计的学习工具. 2.本书目标 1).如何运用GRASP进行对象设计2).学会基本的GoF设计模式是本书的关键目标 3.何时采用GRASP? 绘制UML交互图时,就可以考虑这些职责(实现为方法) 4.职责.GRASP.UML图之间有什么联系? 回忆一下, 1).上章类图中,这种叫“操作”,而实现了代码的,叫“实现”. 2).这里的Pa…
只有到了一定层次后才会真正的深入体会到面向对象的一些知识点啊! 不谈具体程序,谈的是你对软件的理解 模式: 每一个模式描述了一个在我们周围不断重复发生的问题,以及该问题的解决方案的核心. “模式”这个词是不局限于软件开发行业的,它几乎无处不在,它其实就是一种经验的积累,就象大多数人的教育经历都是从小学到初中再到高中再到大学,这也是一种模式,是中国的教育模式:现在越来越火的出国热,也是另一种模式,海外留学模式 比设计模式更重要:GRASP (职责分配原则) GRASP(General Respon…
GRASP概述 GRASP,全称General Responsibility Assignment Software Patterns,译为”通用职责分配软件原则“,包含以下原则和模式 控制器(Controller) 控制器模式用来接收和处理系统事件的职责,一般应该分配给一个能够代表整个系统或者单个用例场景 一个用例控制器应该用来处理一个用例的所有系统事件 控制器对象定义为UI展现层之上的第一个对象负责接收和协调系统操作 控制器本身不应该包含太多逻辑和功能 在N-Layer多层架构应用程序中,控…
根据讲师所讲做了一下笔记以便自己能方便学习: ------------------------------------------grasp设计模式: grasp(general responsibility assignment software patterns:通用职责分配软件模式)模式相对于gof23模式更加抽象, 它的核心思想:职责如何分配和如何用用职责设计对象: 它的五个基本模式: ---信息专家.创建者.高内聚.低耦合.控制器: 四个扩展模式; ---多态性.纯虚构.间接性.防止变…
最近一直在学习领域驱动设计(DDD)的理论知识,从网上搜集了一些个人认为比较有价值的东西,贴出来和大家分享一下: 我一直觉得不要盲目相信权威,比如不能一谈起领域驱动设计,就一定认为国外的那个Eric Evans写的那本书中的一些概念就一定是正确的,认为领域驱动设计就一定是聚合,聚合根,实体,值对象等概念.我们要有自己的思想,要有自己判断真正的领域模型该是什么样子的勇气和追求. "领域驱动设计" = “问题域模型驱动领域建模” + “领域建模驱动软件实现” 问题域建模的过程就是业务领域分…
前言 在我们很多时候设计代码都是需要用到各种不一样的设计模式的,接下来着几篇给大家领略一下设计模式.知道设计模式的作用,以及在代码的具体体现.很多时候我们看不懂代码就是因为我们不知道它使用的设计模式. 国庆的我很痛苦,学习是痛苦的,成长是快乐的! 一.什么是面向对象 1)面向对象(Object-Orientation,简称OO)是一种系统建模技术/编程思想. 2)面向对象编程(Object-Orientation Programming,简称OOP)是按照OO的方法学来开发程序的编程方式 3) …
原文:关于DDD领域驱动设计的理论知识收集汇总 最近一直在学习领域驱动设计(DDD)的理论知识,从网上搜集了一些个人认为比较有价值的东西,贴出来和大家分享一下: 我一直觉得不要盲目相信权威,比如不能一谈起领域驱动设计,就一定认为国外的那个Eric Evans写的那本书中的一些概念就一定是正确的,认为领域驱动设计就一定是聚合,聚合根,实体,值对象等概念.我们要有自己的思想,要有自己判断真正的领域模型该是什么样子的勇气和追求. "领域驱动设计" = “问题域模型驱动领域建模” + “领域建…
一.GRASP模式(通用责任分配软件模式)概述 1.1.理解责任 1)什么是责任 责任是类间的一种合约或义务,也可以理解成一个业务功能,包括行为.数据.对象的创建等 知道责任——表示知道什么 行为责任——表示做什么 责任=知道责任+行为责任 2)知道责任与行为责任 知道责任: 了解私有封装数据 了解关联的对象 了解能够派生或计算的事物 行为责任: 如何完成对象初始化 如何执行一些控制行为 3)责任的理解 责任不是类的方法,类的方法用于[实现行为责任].责任更可以理解成是系统应提供的一个业务功能…
When you're on the way which is unknown and dangerous, just follow your mind and steer the boat. 软件模式: 设计模式.体系结构模式.分析模式.过程模式等. 体系结构模式 ANSIIEEEStd1471一200对体系结构的定义:一个系统的基本组织,表现为系统的组件.组件之间的相互关系.组件和环境之间的相互关系以及设计和进化的原则. 黑板模式 黑板模式是一种常用的架构模式,应用中的多种不同数据处理逻辑相…
atitit.软件与sql设计模式原理与本质 大总结attialx总结v6 qc26.docx 1.1. 版本历史2 2. 设计模式是什么2 2.1. 模式就是在一种场合下对某个问题的一个解决方案."2 2.2. 模式只是行话.规则.编程技巧.数据结构--"2 3. 设计模式的优点3 3.1. 知识固化 知识沉淀 精华沉淀,最佳实践固化 文档固化3 3.2. 复用解决方案--通过复用已经公认的设计,我能够在解决问题时取得先发优势,而且避免重蹈前人覆辙3 3.3. 大部分情况下可以提升可…
http://www.cs.rochester.edu/~kshen/papers/usenix2010-li.pdf Abstract Memory hardware reliability is an indispensable part of whole-system dependability. This paper presents the collection of realistic memory hardware error traces (including transient…
GRASP原则七: 纯虚构 Pure Fabrication  如果依据信息专家原则获得的解决方案不合适,既不想违反低耦合.高内聚,也不想违 反其他的原则, 该如何把职责分配给对象?  左右为难….2.1 GRASP rule7: Pure Fabrication 纯虚构  Name: Pure Fabrication  Problem: 依据一些原则(比如,信息专家)获得的解决方案不合 适的情况下,既不想违反低耦合.高 内聚,也不想违反其他的原则, 如 何 把 职 责 分 配 给 对…
GRASP原则六: 多态 Polymorphism  How to handle alternative behaviors based on type 如何处理依据类型不同而有 不同行为的一类需求 ?  比如,开餐馆  苏州人喜欢甜.四川人喜欢麻.湖南人喜欢辣,咋处理 ?1.1 9条GRASP原则  Information Expert  responsibilities should be assigned to objects that contain relevant info…
atitit.软件设计模式大的总结attialx总结 1. 设计模式的历史3 2. 设计模式的数量(253个)3 3. 设计模式的结构4 3.1. 应用场景and条件Context4 3.2. Problem4 3.3. 解决4 3.4. 不适合领域4 3.5. 优缺点4 4. 软件模式并非仅限于设计模式,还包括架构模式.分析模式和过程模式 5 5. 具体的设计模式5 5.1. Gof 23个模式5 5.2. Api映射法取代 warp法.5 5.3. async异步模式6 5.4. AOP 6…
atitit.提升开发效率---mda 软件开发方式的革命--(2) 1. 一个完整的MDA规范包含: 1 2. 一个完整的MDA应用程序包含: 1 3. MDA能够带来的最大的三个好处是什么? 2 4. 三大MDA工具 2 5. 代码补充 3 6. Mda的问题 3 7. EMF与MDA 4 8. MDA跟代码自动生成的区别 4 9. openMDX-开源MDA平台 5 10. openMDX 的开发过程 5 11. MDA的两种实现 5 12. 参考 6 1.  一个完整的MDA规范包含:…
Single Responsibility Principle 类的设计趋向于:Use Case Diagram --> (derived) --> Detail Open-Closed Principle /* Software entities should be open for extension, but closed for modification */ 反面例子:Dependency: 作为参数,作为局部变量,调用静态方法. 改进方式:增加抽象类或者接口,以及set方法. Li…
Atitit s2018.5 s5  doc list on com pc.docx  Acc  112237553.docx Acc Acc  112237553.docx Acc baidu netdisk.docx Acc bdp   1882176   p000000.docx Acc csdn 18821766710   attilax main num.docx Aittit  开kibana查看日志.docx Atiitt put post 工具  开发工具dev tool tes…
GRASP原则八: 间接 Indirection  若两个对象直接连接,导致耦合太紧,如何解决?3.1 GRASP rule8: Indirection 间接  Name: Indirection  Problem: 把职责分配到哪里可以避免两个或者多个对象之间的 直接耦合?如何解耦对象以保持较高的可重 用性? Where to assign a responsibility to avoid direct coupling between two or more objects? How…