
设计模式学习笔记
文章平均质量分 61
kxy
这个作者很懒,什么都没留下…
展开
-
设计模式精解-第五章-设计模式简介
首先,设计模式和面向对象设计是互为补充.对于设计模式的资料,看上去抽象,甚至比较哲学.但是我们需要理解他们.要学习的是设计模式的思想. 设计模式是从建筑学和人类学发展起来的.这两者都认为"美"的,优秀的设计是有客观的标准的.Christopher Alexander这个建筑师对设计模式的研究起了很大的作用.他首先有个信念,那就是"设计的质量可以客观衡量".为了研究这个问题,他原创 2005-06-22 16:02:00 · 1698 阅读 · 0 评论 -
设计模式精解-第二章 UML-统一建模语言
UML中有很多种图,不同的图有不同的用处.分析阶段: 用例图,活动图观察对象的交互: 交互图设计阶段:类图观察一个对象在不同状态下的不同行为:状态图.在配置阶段:配置图. 本书中因为是讲设计的.因此使用基本的UML图: 类图和交互图. 那么为什么要使用UML呢?主要是为了交流.另外它还强迫设计者必须认真思考他的设计方案,因为他要把他的方案写下来.这也从另外一个方面说原创 2005-06-18 10:05:00 · 1605 阅读 · 0 评论 -
设计模式精解-第一章-面向对象范式(二)
那么,我们如何来解决变化的需求带来的问题呢?除了功能分解外,我们还有没有别的解决问题的方式呢? 我们来看看现实生活中处理问题的方式.这个书里面举了一个例子,老师和学生.还是很有道理的.按标准结构化程序设计的方法,那么老师就事必躬亲,对没个细节负责.学生就什么也不负责,按老师的指令行事就是了.如果需求发生的变化,学生不用操心,一切由老师搞定.最后的结果是学生白白胖胖,老师吐血而原创 2005-06-17 13:46:00 · 1472 阅读 · 0 评论 -
设计模式-OOD的设计原则(5)-"合成聚合复用原则"
合成(Composition)和聚合(Aggregation)都是关联(Association)的特殊种类。聚合表示整体和部分的关系,表示“拥有”;合成则是一种更强的“拥有”,部分和整体的生命周期一样。合成的新的对象完全支配其组成部分,包括它们的创建和湮灭等。一个合成关系的成分对象是不能与另一个合成关系共享的。 换句话说,合成是值的聚合(Aggregation by Valu原创 2005-07-06 14:32:00 · 2941 阅读 · 1 评论 -
设计模式-OOD的设计原则(4)-"接口隔离原则"
接口隔离原则(ISP):使用多个专门的接口比使用单一的总接口要好.也就是说,一个类对另外一个类的依赖性应当是建立在最小的接口上的. 这里的"接口"往往有两种不同的含义:一种是指一个类型所具有的方法特征的集合,仅仅是一种逻辑上的抽象;另外一种是指某种语言具体的"接口"定义,有严格的定义和结构.比如Java语言里面的Interface结构.对于这两种不同的含义,ISP的表达方式以原创 2005-07-05 09:10:00 · 2474 阅读 · 0 评论 -
设计模式-OOD的设计原则(3)-"依赖倒转原则"
"开-闭"原则是我们OOD的目标,达到这一目标的主要机制就是"依赖倒转原则".这个原则的内容是:要依赖于抽象,不要依赖于具体. 对于抽象层次来说,它是一个系统的本质的概括,是系统的商务逻辑和宏观的,战略性的决定,是必然性的体现;具体的层次则是与实现有关的算法和逻辑,一些战术性的决定,带有相当大的偶然性.传统的过程性系统设计办法倾向于使高层次的模块依赖于低层次的模块;抽象层次依原创 2005-06-30 10:28:00 · 2488 阅读 · 0 评论 -
设计模式-OOD的设计原则(1)-"开-闭原则"
在继续这本书之前,我们来学习些OOD的一些设计原则.这些原则在提高一个系统可维护性的同时,提高这个系统的可复用性.他们是一些指导原则,依照这些原则设计,我们就可以有效的提高系统的复用性,同时提高系统的可维护性. 这些OOD原则的一个基石就是"开-闭原则"(Open-Closed Principle OCP).这个原则最早是由Bertrand Meyer提出,英文的原文是:So原创 2005-06-27 17:42:00 · 3273 阅读 · 2 评论 -
设计模式-OOD的设计原则(2)-"里氏代换原则"
从上一篇的"开-闭"原则中可以看出,面向对象设计的重要原则是创建抽象化,并且从抽象化导出具体化.这个导出要使用继承关系和一个原则:里氏代换原则(Liskov Substitution Principle, LSP). 那么什么是里氏代换原则呢?有个严格的表述,绕口,不好记.还是比较白话的这个好记.说的是:一个软件实体如果使用的是一个基类的话,那么一定适用于其子类,而且它察觉不原创 2005-06-28 16:47:00 · 2036 阅读 · 0 评论 -
设计模式精解-第四章-一个标准面向对象解决方案
在这一章,作者给出了一个基于面向对象的解决方案,我们来看看这个方案,并分析下这个方案的优缺点在哪里. 作者需要解决的问题是,构造一个信息提取系统,这个系统对使用它的对象是一致的,就是说,客户对象不需要关心具体的CAD/CAM系统.在思考的过程中,作者很自然的一个思路是,先解决一个特定的例子,然后推而广之.具体的说就是先搞定沟槽的问题,那么同样的解决办法就可以应用到方块,孔等其原创 2005-06-21 15:35:00 · 1449 阅读 · 0 评论 -
设计模式精解-第三章-一个急需灵活代码的问题
在这一章,作者回顾了以前的一个设计.实际上是说明了一个这样的问题.一个系统有几种不同的特定实现,而作者希望另外的对象(系统)通过相同的方式和这些不同的实现进行交流. 作者现在有两个系统,一个是CAD/CAM系统,另外一个是一个专家系统.这个专家系统比较稳定,基本不变化,而且耗资巨大.而那个CAD/CAM系统为这个专家系统提供数据,它的变化相对频繁.至少作者就碰到了两个版本,这原创 2005-06-20 14:01:00 · 1445 阅读 · 0 评论 -
设计模式精解-第一章-面向对象范式(一)
设计模式是个好东西,为什么好呢?目前不清楚,一直想学.没时间.最近买了设计模式精解>.开始读书. 本书的第一章是介绍面向对象范式.通过和另外一种常见的范式-标准结构化程序设计进行对比,来让读者更好的理解面向对象范式. 我们先来看看标准结构化程序设计范式是如何来解决问题的,也就是如何编程的.如果我们拿到一个任务,为了完成任务,我们很自然的把任务分解,分解到每个部分都很原创 2005-06-16 21:57:00 · 1557 阅读 · 0 评论