
设计模式
文章平均质量分 88
菜鸟502
我只是一个菜鸟!
展开
-
设计模式C++实现——代理模式
转载自: http://blog.youkuaiyun.com/wuzhekai1985 软件领域中的设计模式为开发人员提供了一种使用专家设计经验的有效途径。设计模式中运用了面向对象编程语言的重要特性:封装、继承、多态,真正领悟设计模式的精髓是可能一个漫长的过程,需要大量实践经验的积累。最近看设计模式的书,对于每个模式,用C++写了个小例子,加深一下理解。主要参考《大话设计模式》和《设计模转载 2015-06-08 09:48:44 · 493 阅读 · 0 评论 -
设计模式C++学习笔记之十四(Iterator迭代器模式)
博文很精彩,为方便个人学习特转载,地址:http://www.cnblogs.com/wanggary/archive/2011/04/19/2021600.html14.1.解释概念:提供一种方法顺序访问一个聚合对象中各个元素,而又不需暴露该对象的内部表示。main(),客户IProject,产品接口CProject,产品类IIterator,转载 2016-03-17 22:52:35 · 340 阅读 · 0 评论 -
设计模式C++学习笔记之十五(Composite组合模式)
博文很精彩,为方便个人学习特转载,地址:http://www.cnblogs.com/wanggary/archive/2011/04/19/2021638.html15.1.解释概念:将对象组合成树形结构以表示“部分-整体”的层次结构。Composite使得用户对单个对象和组合的使用具有一致性。main(),客户CCorpNode,抽象基类,实现基本信息CBranchNo转载 2016-03-17 22:58:03 · 351 阅读 · 0 评论 -
设计模式C++学习笔记之十六(Observer观察者模式)
博文很精彩,为方便个人学习特转载,地址:http://www.cnblogs.com/wanggary/archive/2011/04/20/2022975.html16.1.解释概念:定义对象间的一种一对多的依赖关系,当一个对象的状态发生改变时,所有依赖于它的对象都得到通知并被自动更新。main(),IObservable,被观察者接口CHanFeiZiObservabl转载 2016-03-17 22:59:09 · 350 阅读 · 0 评论 -
设计模式C++学习笔记之十七(Chain of Responsibility责任链模式)
博文很精彩,为方便个人学习特转载,地址:http://www.cnblogs.com/wanggary/archive/2011/04/20/2022988.html17.1.解释概念:使多个对象都有机会处理请求,从而避免请求的发送者和接收者之间的耦合关系。将这些对象连成一条链,并沿着这条链传递该请求,直到有一个对象处理它为止。main(),客户IWomen,发出请求者接口转载 2016-03-17 23:00:17 · 376 阅读 · 0 评论 -
设计模式C++学习笔记之十八(Visitor访问者模式)
博文很精彩,为方便个人学习特转载,地址:http://www.cnblogs.com/wanggary/archive/2011/04/21/2024099.html18.1.解释概念:表示一个作用于某对象结构中的各元素的操作。它使你可以在不改变各元素的类的前提下定义作用于这些元素的新操作。main(),客户IVisitor,访问者接口CBaseVisitor,访问者实现类转载 2016-03-17 23:01:20 · 513 阅读 · 0 评论 -
设计模式C++学习笔记之十九(State状态模式)
博文很精彩,为方便个人学习特转载,地址:http://www.cnblogs.com/wanggary/archive/2011/04/21/2024117.html19.1.解释概念:允许一个对象在其内部状态改变时改变它的行为。对象看起来似乎修改了它的类。main(),客户CLiftState,电梯状态抽象类CCloseingState,电梯门关闭转载 2016-03-17 23:02:26 · 424 阅读 · 0 评论 -
GOF 23种设计模式 怎么分类
1.创建型模式 前面讲过,社会化的分工越来越细,自然在软件设计方面也是如此,因此对象的创建和对象的使用分开也就成为了必然趋势。因为对象的创建会消耗掉系统的很多资源,所以单独对对象的创建进行研究,从而能够高效地创建对象就是创建型模式要探讨的问题。这里有6个具体的创建型模式可供研究,它们分别是: 简单工厂模式(Simple Factory); 工厂方法模式(Factory Method);原创 2016-07-26 21:44:46 · 629 阅读 · 0 评论 -
几种常见设计模式(Java)
几种设计模式(总共有二十多种,其他的以后慢慢了解) (1) 创建型:工厂模式、抽象工厂模式、单例模式 (2) 结构型:适配器模式、装饰器模式、代理模式 (3) 行为型:策略模式、模板方法模式、观察者模式 代码示例 1)工厂模式 普通工厂是工厂模式的一种,就是建立一个工厂类,对实现了同一接口的一些类进行实例的创建public interface Sender { public vo原创 2016-08-11 21:35:59 · 1325 阅读 · 0 评论 -
设计模式C++学习笔记之十二(Command命令模式)
博文很精彩,为方便个人学习特转载,地址:http://www.cnblogs.com/wanggary/archive/2011/04/18/2020230.html命令模式,将一个请求封装为一个对象,从而使你可用不同的请求对客户进行参数化;对请求排队或记录请求日志,以及支持可撤消的操作。应该是一个比较简单的模式了。 12.1.解释 main(),客户 CInvoker,命转载 2016-03-17 22:50:08 · 379 阅读 · 0 评论 -
设计模式C++学习笔记之十一(Bridge桥梁模式)
博文很精彩,为方便个人学习特转载,地址:http://www.cnblogs.com/wanggary/archive/2011/04/17/2019067.html桥梁模式,将抽象部分与它的实现部分分离,使它们都可以独立地变化。实现分离的办法就是增加一个类,11.1.解释main(),客户IProduct,产品接口CHouse,房子CIPod,转载 2016-03-17 22:48:25 · 357 阅读 · 0 评论 -
设计模式C++学习笔记之十(Builder建造者模式)
博文很精彩,为方便个人学习特转载,地址:http://www.cnblogs.com/wanggary/archive/2011/04/15/2017615.html建造者模式,将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示。一段晦涩难懂的文字,实现创建不同表示的方法就是给创建的过程传入创建的参数。详细的还是看代码吧。10.1.解释main()转载 2016-03-17 22:44:14 · 367 阅读 · 0 评论 -
设计模式C++学习笔记之一(Strategy策略模式)
博文很精彩,为方便个人学习特转载,地址:http://www.cnblogs.com/wanggary/archive/2011/04/07/2008796.html无意中,从网上下到一本电子书《24种设计模式介绍与6大设计原则》,很好奇这里有24种设计模式,印象中GOF写的《设计模式》(Design Patterns),好像只有23种吧。运行起来一看,还真挺吸引咱的,里面提到的例子都很有转载 2016-03-17 22:23:56 · 410 阅读 · 0 评论 -
设计模式C++学习笔记之二(Proxy代理模式)
博文很精彩,为方便个人学习特转载,地址:http://www.cnblogs.com/wanggary/archive/2011/04/08/2009965.html代理,一看名字就知道这只是个中介而已,真实的执行者在代理的后面呢。cbf4life在他的书里提的例子也很有趣,更详细的内容及说明可以参考原作者博客:cbf4life.cnblogs.com。现在贴代码,以方便随用随取。转载 2016-03-17 22:26:27 · 452 阅读 · 0 评论 -
设计模式C++学习笔记之三(Singleton单例模式)
博文很精彩,为方便个人学习特转载,地址:http://www.cnblogs.com/wanggary/archive/2011/04/09/2010876.html单例模式看起来也蛮简单的,就是在系统中只允许产生这个类的一个实例,既然这么简单,就直接贴代码了。更详细的内容及说明可以参考原作者博客:cbf4life.cnblogs.com。3.1.解释main(),大臣转载 2016-03-17 22:29:13 · 298 阅读 · 0 评论 -
设计模式C++学习笔记之四(Multition多例模式)
博文很精彩,为方便个人学习特转载,地址:http://www.cnblogs.com/wanggary/archive/2011/04/11/2011966.html多例模式,这个在GOF的模式设计里没有提到,但在实际工作中确实会用到。更详细的内容及说明可以参考原作者博客:cbf4life.cnblogs.com。4.1.解释main(),客户略说明:和转载 2016-03-17 22:31:05 · 716 阅读 · 0 评论 -
设计模式C++学习笔记之五(Factory Method工厂方法模式)
博文很精彩,为方便个人学习特转载,地址:http://www.cnblogs.com/wanggary/archive/2011/04/11/2013033.html工厂方法模式的意义是定义一个创建产品对象的工厂接口,将实际创建工作推迟到子类当中。核心工厂类不再负责产品的创建,这样核心类成为一个抽象工厂角色,仅负责具体工厂子类必须实现的接口,这样进一步抽象化的好处是使得工厂方法模式转载 2016-03-17 22:32:23 · 323 阅读 · 0 评论 -
设计模式C++学习笔记之六(Facade门面模式)
博文很精彩,为方便个人学习特转载,地址:http://www.cnblogs.com/wanggary/archive/2011/04/12/2014186.htmlFacade门面模式,也是比较常用的一种模式,基本上所有软件系统中都会用到。 GOF 在《设计模式》一书中给出如下定义:为子系统中的一组接口提供一个一致的界面, Facade 模式定义了一个高层接口,这个接口使得这一子系统更加转载 2016-03-17 22:35:18 · 454 阅读 · 0 评论 -
设计模式C++学习笔记之七(AbstractFactory抽象工厂模式)
博文很精彩,为方便个人学习特转载,地址:http://www.cnblogs.com/wanggary/archive/2011/04/13/2015288.html抽象工厂,提供一个创建一系列相关或相互依赖对象的接口,而无需指定它们具体的类。对于工厂方法来说,抽象工厂可实现一系列产品的生产,抽象工厂更注重产品的组合。看代码:7.1.解释main(),女娲转载 2016-03-17 22:37:47 · 317 阅读 · 0 评论 -
设计模式C++学习笔记之八(Adapter适配器模式)
博文很精彩,为方便个人学习特转载,地址:http://www.cnblogs.com/wanggary/archive/2011/04/13/2015335.html适配器模式,使用之处比较特殊,不属于常规设计模式,主要用于不同系统之间的处理。是将一个类的接口转换成客户希望的另外一个接口。Adapter模式使得原本由于接口不兼容而不能一起工作的那些类可以一起工作。也是一个比较简单的模式,直转载 2016-03-17 22:41:04 · 280 阅读 · 0 评论 -
设计模式C++学习笔记之九(Template Method模板方法模式)
博文很精彩,为方便个人学习特转载,地址:http://www.cnblogs.com/wanggary/archive/2011/04/15/2016619.html模板模式也是相当简单的一种模式,而且是比较常用的。模板模式是定义一个操作中的算法的骨架,而将一些步骤延迟到子类中。TemplateMethod使得子类可以不改变一个算法的结构即可重定义该算法的某些特定步骤。cbf4life举的转载 2016-03-17 22:42:42 · 295 阅读 · 0 评论 -
设计模式(C++实例)
感言 本文很长,但文中近乎有十之八九只能算是我在拜读各位大神大牛们分享的作品的笔记,这里只是我第一遍学习,我知道过了几天我肯定又会把看过的东西给忘记,所以就索性把各位大牛们的东西整理到了一起,方便以后的学习。1.(Strategy策略模式) 一个策略放到一个锦囊里。当用的时候,找到这个锦囊,从锦囊里拿出策略来使用。 注意:锦囊只是简单的装载和调用策略,锦囊里没有逻辑。策略会有更大的自主权,运行原创 2016-08-13 15:40:38 · 13726 阅读 · 0 评论