设计模式
VniciGino
这个作者很懒,什么都没留下…
展开
-
设计模式阅读备忘笔记-代理模式
设计模式阅读备忘笔记-代理模式1、代理模式为其他对象提供了一种代理以控制对这个对象的访问。代码例子如下:abstract class Subject{ public abstract void Request();}class RealSubject : Subject{ public override void Request() { }}class Prox原创 2017-09-30 11:54:38 · 312 阅读 · 0 评论 -
设计模式阅读备忘笔记-中介者模式
设计模式阅读备忘笔记-中介者模式中介者模式(Mediator)理解:Mediator的出现减少了各个Colleague的耦合,使得可以独立地改变和复用各个Colleague类和Mediator。 由于把对象如何协作进行了抽象,将中介作为一个独立地概念并将其封装再一个都想中,这样关注地对象就从对象各自本身地行为装换到它们之间地交互上来,也就是站在一个更宏观地角度去看待系统。代码例子://抽象中介原创 2017-09-30 11:53:25 · 326 阅读 · 0 评论 -
设计模式阅读备忘笔记-策略模式
设计模式阅读备忘笔记-策略模式1、策略模式(Strategy)策略模式定义了算法家族,分别封装起来,让他们之间可以互相替换,此模式让算法的变化,不会影响使用算法的客户。结构如下abstract class Strategy{ // 算法抽象 public abstract void AlgorithmInterface();}class ConcretesStrategyA :原创 2017-09-21 10:55:21 · 289 阅读 · 0 评论 -
设计模式阅读备忘笔记-原则
设计模式阅读备忘笔记-原则1、单一职责原则单一职责原则(SRP),就一个类而言,应该仅有一个引起它变化的原因。 如果一个类承担的职责过多,那这些职责的耦合在一起,一个职责的变化可能会削弱或者抑制这个类完成其他职责的能力。这种耦合会导致脆弱的设计,当变化发生时,设计会遭受意想不到的破坏。 当设计重构时,就是发现职责并把那些职责互相分离就要判断是否应该分离出类来,如果你能够想到多余的一个动机去改变一原创 2017-09-21 10:53:12 · 269 阅读 · 0 评论 -
设计模式阅读备忘笔记-装饰模式
设计模式阅读备忘笔记-装饰模式策略模式(Strategy)动态的给一个对象添加一些额外的职责,就是增加功能来说,装饰模式比生成子类更加灵活。理解:将所需的功能按正确的顺序串联起来进行控制,每个装饰对象的实现就和如何使用这个对象分开了,每个装饰对象只关心自己的功能,不需要关心如何添加在对象链中。代码例子: 1、抽象对象接口//定义一个对象的接口,可以对对象动态添加职责abstract class原创 2017-09-21 10:47:15 · 330 阅读 · 0 评论 -
设计模式阅读备忘笔记-组合模式
设计模式阅读备忘笔记-组合模式组合模式将对象组合合成树形结构以标识‘部分-整体’的层次结构,组合模式使得用户对单个对象和组合对象的使用具有一致性。最近在研究行为树,突然想起来组合模式,就此记录回顾一下。代码例子如下:抽象节点public abstract class AComposite{ protected string name; public AComposite (stri原创 2017-10-24 09:58:38 · 333 阅读 · 0 评论