设计模式
pangshaohua
这个作者很懒,什么都没留下…
展开
-
设计模式资源
设计模式资源 收藏 使用设计模式的三个最重要的要素是:知道在何处查找设计模式 知道如何将设计模式应用于软件工作 如何识别出现在别人的软件中的设计模式 稍加练习,您会发现查找一个可能适用于特定问题领域的设计模式是相当容易的。实际上,通常会发现适用于您问题领域的模式太多了。一旦把所有可行的模式汇集成一份清单,那么,确定哪个模式最适合应用于您的软件设计会是一个难题。使用模式时,经验是关键。有了经验,您转载 2010-01-29 08:51:00 · 696 阅读 · 0 评论 -
设计模式大集锦 程序员面试全攻略
一、入门级程序员的面试题: 这些软件设计和设计模式的先关问题大多会出现在初学者面试情景中,什么是设计模式?特定的设计模式又是什么?等等这些概念,也许你很轻易回答这些概念,但文内提供的这些问题也许能给你带来更多价值。 1. 什么是设计模式?在你编码过程中使用了哪些设计模式? 每位程序员都会利用自身经历来回答这些特定的设计问题。设计模式是代码重用的扩展。 2. 你能说出在标准的JDK库转载 2014-08-26 00:38:52 · 443 阅读 · 0 评论 -
C++设计模式之状态模式
在阐述状态模式之前,先来看一个例子。一个银行取款问题: 如果账户余额大于0,则正常取款;如果余额在-2000和0之间,则透支取款;如果余额小于-2000,则账户处于冻结状态,无法进行取款操作。 实现代码如下:[cpp] view plaincopyprint?//银行账户 class Account { private: //余额转载 2014-09-21 10:20:24 · 993 阅读 · 0 评论 -
C++设计模式之原型模式
看到上图中的百元大钞、心里总在想这Money是我的那该多好。仔细看这些百元大钞,除了编号不同外,其余的信息都是一样的。印刷厂首先有一张100元的钞票,然后把它当作原型,印刷出一叠叠的钞票,流入市场。在设计模式中也存在一个类似的模式,可以根据一个原型对象克隆出多个一模一样的对象,该模式称之为原型模式。1、原型模式 在使用原型模式时,我们需要首先创建一个原型对象,再通过复转载 2014-08-28 00:53:06 · 911 阅读 · 0 评论 -
C++设计模式之单例模式
神州上下五千年,为了抵御匈奴的入侵,无数的人民投入到兴建万里长城浩瀚的工程中。也正因为有这些劳动人民辛勤的付出,才有了今天世界八大奇迹之一-----独一无二的万里长城。在软件开发中,同样存在这种唯一的实例,它就是接下来要讲的单例模式。1、单例模式:单例模式(Singleton Pattern):确保某一个类只有一个实例,而且自行实例化并向整个系统转载 2014-08-28 00:46:08 · 846 阅读 · 0 评论 -
C++设计模式之简单工厂模式
Iphone 6即将面世过程中,富士康集团正在为Iphone6的面世做着最后的冲刺,生产线上的工人正忙碌着为Iphone6进行各道流程的加工操作。作为代工工厂,富士康为世界上IT巨头,如:苹果,惠普等加工出各种产品。市场上看到的各种品牌电脑,绝大部分来在富士康这家代工厂。在设计模式中,也存在一个类似的模式,提供一个工厂,根据需要可以创建出各种不同类型的对象,该模式称之为简单工程模式。转载 2014-08-29 00:26:43 · 964 阅读 · 0 评论 -
C++设计模式之工厂方法模式
1、工厂方法模式概述 在简单工厂模式中只提供一个工厂类,该工厂类处于对产品类进行实例化的中心位置,它需要知道每一个产品对象的创建细节,并决定何时实例化哪一个产品类。简单工厂模式最大的缺点是当有新产品要加入到系统中时,必须修改工厂类,需要在其中加入必要的业务逻辑,这违背了“开闭原则”。此外,在简单工厂模式中,所有的产品都由同一个工厂创建,工厂类职责较重,业务逻辑较为复杂,具体产品与工厂转载 2014-08-29 00:49:05 · 842 阅读 · 0 评论 -
C++设计模式之抽象工厂模式
伟创力(世界500强企业),公司有笔记本生产车间、电视机车间、空调车间、电话生产等车间,各生产车间各行其责,生产出不同类型的产品。伟创力不再是生产单一产品的企业,而是生产出多种不同类型的产品,各产品属于不同产品等级结构中。在设计模式中,也存在一种类似的模式,可以创建一系列产品,这些产品位于不同产品等级结构,产品之间可以没有任何联系,但他们组合起来,可以成为一个产品族,称之为抽象工厂模式。转载 2014-08-29 00:57:00 · 1227 阅读 · 0 评论 -
C++设计模式之策略模式
这两年,中国好声音席卷全国,深受观众的青睐,收视率也创造了新高。无论你是否身份低微或是高富帅,都可以通过好声音这个平台,实现自己的明星梦。紧随其后,中国好舞蹈等节目铺天盖地席卷而来,给选手一个圆梦的机会。如果想实现明星梦,可以参加中国好声音,也可以参加中国好舞蹈这些节目,还可以参加星光大道,或者像筷子兄弟一样,拍摄MV。实现明星梦的方式很多,根据自己的喜爱选择其中的一种方式。在设计模式中,也存在一转载 2014-08-30 03:50:11 · 651 阅读 · 0 评论 -
C++设计模式之建造者模式
在内蒙古这辽阔的草原上,放养着成千上万的奶牛。蒙牛集团在这里崛起,迅速抢占中国大半牛奶市场,造就了一个商业帝国。蒙牛集团牛奶生产流程大致是这样的: 放养奶牛--->牛奶加工--->牛奶包装--->销售。经历从放养奶牛到进行市场销售这一系列环节,蒙牛牛奶才得以诞生。虽然生产流程比这个流程还复杂,但对客户而言,根本不需要知道牛奶生产的细节,只需要到超市购买就行了。在设计模式中,也存在一个类似的模式,封转载 2014-08-29 23:26:29 · 1158 阅读 · 0 评论 -
C++设计模式之模板方法模式
临近毕业,很多人都会到人才网发布简历以寻求符合自己要求的岗位。登陆人才网,系统会给我们提供一份统一的模板,我们只需要按照要求填写个人信息、教育背景、工作经历、项目经验等内容就可以了。虽然大家都是使用相同的模板,但每个人填写的求职信息各不相同,简历也就各不一样。在设计模式中,也存在类似的一种模式。实现某个功能需要多个步骤,其中有些步骤是固定的,有些步骤是不固定的,存在可变性,提供一个模板方法来定义这转载 2014-08-30 00:20:48 · 628 阅读 · 0 评论 -
20 Design pattern and Software design interview questions for Programmers Read more: http://javarev
Design patterns and software design questions are essential part of any programming interview, no matter whether you are going for Java interview or C# interview. In face programming and design ski转载 2014-08-26 00:33:36 · 858 阅读 · 0 评论 -
C++设计模式之外观模式
自己有过组装电脑的人都知道,需要到电子市场去购买CPU、主板、硬盘、内存、显示器、光驱等配件。这个方案是好,但需要对各种配件都比较熟悉,这样才能选择最合适的配件,而且还需要考虑配件之间的兼容性。还有一个方案,就是到电子城,找一家专门组装电脑的公司,把自己的要求提出来,然后等着提电脑就好了。我们不需要关心要购买什么样的配件,也不需要知道电脑是如何组装起来的,所有这些操作都交给电脑组装公司,由转载 2014-09-21 10:27:33 · 965 阅读 · 0 评论 -
设计模式
设计模式 收藏 设计模式是对特定问题经过无数次经验总结后提出的能够解决它的优雅的方案。但是,如果想要真正使设计模式发挥最大作用,仅仅知道设计模式是什么,以及它是如何实现的是很不够的,因为那样就不能使你对于设计模式有真正的理解,也就不能够在自己的设计中正确、恰当的使用设计模式。本文试图从另一个角度(设计模式的意图、动机)来看待设计模式,通过这种新的思路,设计模式会变得非常贴近你的设计过程,并且能够指转载 2010-01-29 08:59:00 · 565 阅读 · 0 评论 -
C++编程杂谈之漫谈UML
UML对很多人来说应该不是一个陌生的概念,这一两年来,UML被大家越来越多的讨论着。本来UML跟我这个主题似乎并不能扯上多大的关系(它是语言无关的,甚至可以说其本身就是一种语言——用于交流的)。我在此谈到它有两个目的:1. UML是针对面向对象软件开发的,而C++正是这样的一种语言2. UML在设计中被越来越多的使用着,而下一篇杂谈准备讨论设计模式,如果不了解UML,那么无法进行下去UML,全原创 2010-05-04 13:14:00 · 546 阅读 · 0 评论 -
SOA借鉴设计模式
做软件设计的,就算没有机会仔细研究过设计模式,多少都听说过“四人帮(Gang of Four)”的《Design Pattern》。“设计模式”的四个伟大的作者,把面向对象软件设计的代码复用推向一个新的高度,第一次将设计模式规范化,并提升到理论高度。虽然软件设计模式针对的是代码片段的复用,而SOA实施中讨论的是服务的复用,是软件开发中两个不同层次的问题,但是因为面向对象的软件设计也是SOA的一大支转载 2010-05-20 08:42:00 · 417 阅读 · 0 评论 -
C/C++:构建你自己的插件框架(1)
http://blog.chinaunix.net/space.php?uid=7471615&do=blog&id=83784本文译自Gigi Sayfan在DDJ上的专栏文章。Gigi Sayfan是北加州的一个程序员,email:gigi@gmail.com.本文是一系列讨论架构、开发和部署C/C++跨平台插件框架的文章的第一篇。第一部分探索了一下现状,调查了许多现有的插件/组件转载 2011-11-16 16:21:01 · 654 阅读 · 0 评论 -
Factory Pattern
MotivationThe Factory Design Pattern is probably the most used design pattern in modern programming languages like Java and C#. It comes in different variants and implementations. If you are searc转载 2014-08-26 05:04:12 · 564 阅读 · 0 评论 -
C++设计模式之中介者模式
C++中介者模式中介者模式具体应用中介者模式应用场景 在没有引入星形网络拓扑图之前,计算机之间可以直接通信,但如果某台计算机要和其它多台计算机进行通信,则这台计算机必须认识所要进行通信的其余计算机。计算机与计算机之间存在多对多的关系,导致计算机之间关系非常复杂。引入星形网络拓扑图之后,计算机之间不再直接进行通信,而是由交换机进行处理。计算机不需要认识其它的计算机,只需要认转载 2014-09-21 10:38:39 · 653 阅读 · 0 评论 -
Java Design Patterns – Example Tutorial
http://www.journaldev.com/1827/java-design-patterns-example-tutorial原创 2014-08-26 05:28:37 · 739 阅读 · 0 评论 -
设计模式——建造者
最近的心得,我发现学一门设计模式,不管你是否能立刻理解它,第一最要紧的是要记住两个东西。1、它是属于什么范畴的设计模式。2、记住UML图。这两个是打开这个设计模式之门的金钥匙!为什么这么讲?因为刚刚学新的设计模式,如果一味的埋头在文字中,思想中,代码编写的例子中,如果你这个设计模式又不是看的很懂,实在是会让人晕头转向看的吐血身亡。结果在身亡前,你都不知道这个设计模式干什么用,也不知该怎么去写。心得转载 2014-08-26 03:48:21 · 595 阅读 · 0 评论 -
Singleton Pattern
MotivationSometimes it's important to have only one instance for a class. For example, in a system there should be only one window manager (or only a file system or only a print spooler). Usually转载 2014-08-26 04:09:05 · 678 阅读 · 0 评论 -
C++设计模式之适配器模式
现在的笔记本都只存在USB接口,用来口,电脑上存在的是USB接口,两者如何通信呢?可以使用USB转串口线连接电脑和嵌入式设备,其中USB一端连接电脑、串口和外部设备进行通信。然而在一些嵌入式设备上(例如ARM9),通常使用串口和电脑进行通信。嵌入式设备上存在的是串一端连接嵌入式设备。本来电脑和嵌入式设备由于接口不兼容,无法进行通信,而使用USB转串口线这个适配器,两者之间就可以正常进行数据通信。在转载 2014-08-30 03:52:18 · 876 阅读 · 0 评论