![](https://img-blog.csdnimg.cn/20201014180756926.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
设计模式GOF
程序员黄华东
当初是你要修改,修改就修改; 现在又要拍脑袋让我改回来; 设计不是你想改,想改就能改; 让我改版让我修改你丫自己来
展开
-
设计模式之Builder 的学习笔记
<br /> 设计模式之Builder 的学习笔记Builder 生成器<br />最优秀的面向对象,就我们讲的设计模式,抽象出来,他解决的问题就是变化。如果没有变化我们<br />使用面向对象的理由或者讲他获得的好处要很低。正是因为他能够解决变化,能够封装这些<br />变化去应对这样一个需求变化是否能够对软件体系结构影响到什么程度。系统的构建中的高层抽象部分(有一个稳定的主线)。例如游戏场景设计中房屋的构建,<br />房屋都有地板、墙、窗户这些东西是构建这个房屋的元素或过程是相对不变的东西,但是原创 2010-12-22 14:07:00 · 387 阅读 · 0 评论 -
面向对象设计模式之Composite组合模式学习笔记
<br />面向对象设计模式之Composite组合模式学习笔记 Composite 组合(结构型模式) 对象容器的问题<br /> 在面向对象系统中,我们常常会遇到一类具有“容器”特征的对象<br />——————————即他们在充当对象的同时,又是其他对象的容器。 public class SinngleBox:IBox{<br /> publlic void process(){...........}<br />}<br /> public class ContainerBox:IBo原创 2010-12-22 14:09:00 · 1784 阅读 · 0 评论 -
设计模式之Factory Method 之学习笔记
<br />设计模式之Factory Method 之学习笔记 Factory Method 工厂方法 我们知道耦合关系直接决定着软件面对变化的行为。 1、模块与模块之间的紧耦合使得软件面对变化时,相关的模块都要随着更改<br /> 2、模块与模块之间的松耦合使得软件面对变化时,一些模块更容易被替换或者更改, <br /> 但其他模块保持不变。 <br /> <br /> 动机(Motivation)<br /> 在软件系统中,经常面临着“某个对象”的创原创 2010-12-22 14:05:00 · 434 阅读 · 0 评论 -
设计模式之Abstract Factory的学习笔记
设计模式之Abstract Factory的学习笔记1、创建型的模式我们说他主要解决的就是一个new的问题,我们知道,我们通常创建对都是用的new XX()这种方式。 例://在一个游戏场景中要创建一个道路Road对象 Road road=new Road(); 但是new 在我们解决一些问题的时候,它本身不能满足我们需求的变化。 很明显的一个问题就是 new 实现依赖(依赖于类的具体实现),它不能应对“具体实例化类型”的变化。 什么意思呢? 比如说那上面的列子来说,在游戏场景中,我原创 2010-12-22 14:02:00 · 482 阅读 · 0 评论 -
设计模式之Singletion的学习笔记
<br />1、单线程下Singletion对象实现<br /> class Singletion<br />{<br /> //单线下的单件模式<br /> private static Singletion instance;<br /> private Singletion(){}//保证实例不被初始化,c#编译器默认都会构造一个无参的构造器。加private对它进行私有化出来后就可以避免让编译器默认构造。<br /> public static Singletion I原创 2010-12-22 14:06:00 · 910 阅读 · 0 评论 -
设计模式之Prototype的学习笔记
设计模式之Prototype的学习笔记Prototype (原型模式)抽象不应该依赖于实现细节,实现细节应该依赖于抽象。 ------抽象A依赖于抽象B,实现细节b依赖于抽象B。<br /> 动机(Motivation) 在软件系统中,经常面临着“某些结构复杂的对象”的创建工作;由于需求的变化<br /> 这些对象经常变量着剧烈的变化,但是它们却拥有比较稳定一致的接口。 如何应对这种变化?如何向“客户程序(使用这些对象的程序)”隔离出<br />“这些易变对象”,从而使得“依赖这些易变对象的客户程序”不随原创 2010-12-22 14:07:00 · 1534 阅读 · 0 评论