• .net设计模式 - 单例模式

    DoNet设计模式实例之单例模式 Singleton Pattern 一:单例模式的简介:Brief Introduction   单例模式(Singleton Pattern),保证一个类只有一个实例,并提供一个访问它的全局访问点。单例模式因为Singleton封装它的唯一实例,它就可以严格地控制...

    设计模式 2016-06-12


  • Headfirst设计模式的C++实现——命令模式(Command)

    先看如果不用命令模式的实现: light.h 1 #ifndef _LIGHT_H_ 2 #define _LIGHT_H 3 4 #include iostream 5 6 class LIGHT { 7 public: 8 void on { std::cout "light is ...

    设计模式 2016-04-28


  • c++ 设计模式6 (Decorator 装饰模式)

    4. 单一职责类模式 在软件组件的设计中,如果责任划分的不清晰,使用继承得到的结果往往是随着需求的变化,子类急剧膨胀,同时充斥着重复代码,这时候的关键是划清责任。 典型模式代表: Decorator,Bridge 4.1 Decorator 装饰模式 代码示例:不同的流操作(文件流,网络流,内存流)...

    设计模式 2016-02-22


  • C++ 设计模式2 (面向对象设计原则)

    1. 变化是复用的天敌! 面向对象设计的最大优势在于 : 抵御变化 2. 重新认识面向对象 理解隔离变化: 从宏观层面来看,面向对象的构建方式更能适应软件的变化, 能将变化所带来的影响减为最小。 各司其职: 从微观层面来看,面向对象的方式更强调各个类的责任 (代码示例中,各个类型图形,各自实现自...

    设计模式 2016-02-22


  • c++ 设计模式3 (重构技法 Template Method)

    1. 重构 面向对象设计模式是好的面向对象设计,所谓好的面向对象设计指的是那些可以满足 应对变化,提高复用的设计。 设计模式的要点是寻找变化点,然后在变化点处应用设计模式,从而更好地理解需求的变化 什么时候、什么地点应设计模式比理解设计模式结构本身更为重要。 设计模式的应用不宜先入为主,一上来就使用...

    设计模式 2016-02-22


  • c++ 设计模式4 (Strategy)

    3.2 Strategy (策略模式) 动机:在软件构建过程中,某些对象使用的算法可能多种多样,经常改变,如果将这些算法都编码到对象中,将会使对象变得异常复杂,而且有时候支持不使用或不常使用的算法也是一个性能负担。 如何在运行时根据需要透明地改变对象的算法?将算法和对象本身解耦,从而避免上述问题? ...

    设计模式 2016-02-22


  • c++ 设计模式5 (Observer / Event 观察者模式)

    3.3 观察者模式 (Observer)发布-订阅模式 动机: 在软件构建过程中,我们需要为某些对象建立一种通知依赖关系一个对象(目标对象)的状态发生改变,所有的依赖对象(观察者对象)都能得到通知。如果这样的依赖关系过于紧密,将使得软件不能很好地抵御变化。 使用面向对象技术,可以将这种依赖关系弱化,...

    设计模式 2016-02-22


  • C++面向对象程序设计 笔记3 (面向对象部分)

    一. 组合(复合),继承,委托 1.composition(组合)has-a 1.1组合举例:(Adapter 设计模式) 关系: 利用deque功能实现所有queue功能 template class T class queue{ protected: dequeT c; deque 是两端可进出...

    设计模式 2016-02-22


  • 设计模式笔记——工厂模式

    工厂模式主要是为创建对象提供过度接口,以便将创建对象的具体过程隔离,从而达到提高灵活性的目的 分类一:简单工厂模式,工厂方法模式,抽象工厂模式 逐步抽象 分类二:工厂方法模式(包括简单工厂模式),抽象工厂模式 1.简单工厂模式又称静态工厂方法模式,存在目的:定义一个用于创建对象的接口。   组成:工...

    设计模式 2016-01-26


  • 设计模式笔记——建造模式

    定义:讲一个复杂对象的构建与它的表示相分离,使得同样的构建过程可以创建不同的表示。 将构造复杂对象的过程和组成对象的部件解耦 使用情况,满足以下条件可以考虑使用建造模式搭建框架: 1.产品有复杂的内部结构 2.系统中对此产品的需求将来可能改变产品对象的内部结构构成 3.不能将产品的内部构造完全暴漏给...

    设计模式 2016-01-26


  • 设计模式笔记——单例模式

    单例模式,又叫单态模式或者单件模式。 定义:保证一个类仅有一个实例,并提供一个访问它的全局访问点。单例通常用来代表那些本质上具有唯一性的系统组件(资源)。 目的:控制特定的类只产生一个对象。 单例模式可以分为有状态和无状态的。有状态的单例对象一般也是可变的单例对象,多个单例对象在一起可以作为一个状态...

    设计模式 2016-01-26


  • Headfirst设计模式的C++实现——简单工厂模式(Simple Factory)

    Pizza.h 1 #ifndef _PIZZA_H 2 #define _PIZZA_H 3 #include iostream 4 #include string 5 6 class Pizza 7 { 8 public: 9 Pizzaconst std::string type :...

    设计模式 2015-11-22


  • 设计模式 -- 单例模式(Singleton)

    单例模式 Singleton模式解决问题十分常见而且比较简单。那么什么是单例模式呢?其实就是创建一个唯一的类对象,内存中只占有一份。那么问题来了,要怎么创建一个唯一对象呢?当然,直接定义一个全局的对象可以实现,但在有些纯粹的面向对象语言中,如C#,jave中,就不能定义全局变量了。那么,除了全局变量...

    设计模式 2015-11-18


  • ViewModel处理View相关事件的多种方式(非技术贴,仅学习总结)

    众所周知,在UWP中,微软为我们提供了一种新的绑定方式:x:bind,它是基于编译时的绑定。在性能方面,运行时绑定Binding与它相比还是有些逊色的。因此针对一些确定的、不需要变更的数据,我们完全有理由来使用X:bind进行绑定。(当然,如果你不在乎程序性能的话就没必要继续往下看了!) 悉MV...

    设计模式 2015-11-06


  • 笔记-大话设计模式-27 解释器模式

    解释器模式Interpreter,给定一个语言,定义它的文法的一种表示,并定义一个解释器,这个解释器使用该表示来解释语言中的句子。 如果一种特定类型的问题发生的频率足够高,那么可能就值得将该问题的各个实例表述为一个简单语言中的句子。这样就可以构建一个解释器,该解释器通过解释这些句子来解决该问题。 ...

    设计模式 2015-11-04


  • 笔记-大话设计模式-26 享元模式

    享元模式Flyweight,运用共享技术有效地支持大量细粒度的对象。 缺点:使得系统更加复杂;使得程序逻辑复杂化。 Demo: abstract class Website { public abstract void UseUser user; } class ConcreteW...

    设计模式 2015-11-04


  • 笔记-大话设计模式-23 命令模式

    命令模式Command,将一个请求封装为一个对象,从而使你可用不同的请求对客户进行参数化,对请求排队或记录请求日志,以及支持可撤销的操作。 命令模式把请求一个操作的对象与知道怎么执行一个操作的对象分割开。 敏捷开发原则告诉我们,不要为代码添加基于猜测的、实际不需要的功能。如果不清楚一个系统是否需要...

    设计模式 2015-11-04


  • 笔记-大话设计模式-25 中介者模式

    中介者模式Mediator,用一个中介对象来封装一系列的对象交互。中介者使各对象不需要显式地相互引用,从而使其耦合松散,而且可以独立地改变它们之间的交互。 缺点:由于"中介者"控制了集中化,于是就把交互复杂性变成了中介者的复杂性,这就使得中介者会变得比任何一个ConcreteColleague都复...

    设计模式 2015-11-04


  • 笔记-大话设计模式-24 职责链模式

    类有太多的责任,这违背了单一职责原则,增加新的管理类别,需要修改这个类,违背了开放-封闭原则。 职责链模式Chain of Responsibility,使多个对象都有机会处理请求,从而避免请求的发送者和接受者之间的耦合关系。将这个对象连成一条链,并沿着这条链传递该请求,直到有一个对象处理它为止。...

    设计模式 2015-11-04


  • 笔记-大话设计模式-22 桥接模式

    对象的继承关系是在编译时就定义好了,所以无法在运行时改变从父类继承的实现。子类的实现与它的父类有非常紧密的依赖关系,以至于父类实现中的任何变化必然会导致子类发生变化。当你需要复用子类时,如果继承下来的实现不适合解决新的问题,则父类必须重写或被其他更适合的类替换。这种依赖关系限制了灵活性并最终限制了复...

    设计模式 2015-11-04


热门影视