设计模式_Tag标签_程序员俱乐部

中国优秀的程序员网站程序员频道CXYCLUB技术地图
热搜:
更多>>
 
当前位置:程序员俱乐部 >>Tag标签 >> 设计模式 >>列表
· Java设计模式之模板方法模式发布时间:2013-09-20
在阎宏博士的《JAVA与模式》一书中开头是这样描述模板方法(TemplateMethod)模式的:模板方法模式是类的行为模式。准备一个抽象类,将部分逻辑以具体方法以及具体构造函数的形式实现,然后声明一些抽象方法来迫使子类实现剩余的逻辑。不同的子类可以以不同的方式实现这些抽象方法,从而对剩余的逻辑有不同的实现。这就是模板方法模式的用意。模板方法模式的结构模板方法模式是所有模式中最为常见的几个模式之一,是基于继承的代码复用的基本技术。模板方法模式需要开发抽象类和具体子类的设计师之间的协作... 查看全文
· Java设计模式之观察者模式发布时间:2013-09-19
【摘录】观察者模式是对象的行为模式,又叫发布-订阅(Publish/Subscribe)模式、模型-视图(Model/View)模式、源-监听器(Source/Listener)模式或从属者(Dependents)模式。观察者模式定义了一种一对多的依赖关系,让多个观察者对象同时监听某一个主题对象。这个主题对象在状态上发生变化时,会通知所有观察者对象,使它们能够自动更新自己。抽象主题(Subject)角色:抽象主题角色把所有对观察者对象的引用保存在一个聚集(比如ArrayList对象)里... 查看全文
· Java设计模式之简单工厂模式发布时间:2013-09-19
一、什么是简单工厂模式?简单工厂模式属于类的创建型模式,又叫做静态工厂方法模式。通过专门定义一个类来负责创建其他类的实例,被创建的实例通常都具有共同的父类,一般都是实现一个接口,而这个接口又被这个工厂所依赖。二、模式中包含的角色及其职责1.工厂(Factory)角色简单工厂模式的核心,它负责实现创建所有实例。工厂类可以被外界直接调用,创建所需的产品对象,里面的方法一般被声明为静态的。2.抽象(Interface)角色简单工厂模式所创建的所有对象的父类,它负责描述所有实例所共有的公共接口。3... 查看全文
一、引言在软件系统中,有时需要创建一个复杂对象,并且这个复杂对象由其各部分子对象通过一定的步骤组合而成。例如一个采购系统中,如果需要采购员去采购一批电脑时,在这个实际需求中,电脑就是一个复杂的对象,它是由CPU、主板、硬盘、显卡、机箱等组装而成的,如果此时让采购员一台一台电脑去组装的话真是要累死采购员了,这里就可以采用建造者模式来解决这个问题,我们可以把电脑的各个组件的组装过程封装到一个建造者类对象里,建造者只要负责返还给客户端全部组件都建造完毕的产品对象就可以了。然而现实生活中也是如此的... 查看全文
· C#设计模式(3)——抽象工厂模式发布时间:2013-09-16
一、引言在上一专题中介绍了工厂方法模式,工厂方法模式是为了克服简单工厂模式的缺点而设计出来的,简单工厂模式的工厂类随着产品类的增加需要增加额外的代码),而工厂方法模式每个具体工厂类只完成单个实例的创建,所以它具有很好的可扩展性。但是在现实生活中,一个工厂只创建单个产品这样的例子很少,因为现在的工厂都多元化了,一个工厂创建一系列的产品,如果我们要设计这样的系统时,工厂方法模式显然在这里不适用,然后抽象工厂模式却可以很好地解决一系列产品创建的问题,这是本专题所要介绍的内容。二... 查看全文
· C++设计模式之代理发布时间:2013-09-15
C++设计模式之代理废话少说,先奉上代码:#include"stdafx.h"#include<iostream>usingnamespacestd;classIKindwomen{public:IKindwomen(void);~IKindwomen(void);virtualvoidmakeEyesWithMan();virtualvoidtlaWithMan();};classWangPo{public:WangPo(IKindwomen*pKindwomen)... 查看全文
迭代器模式目录:需求使用JDK源码深入:为何要单独抽离出一个Iterator接口?正文:容器,在不同语言中都扮演着重要的角色,如Java中的List、Set和Map。迭代器模式是为容器而生的设计模式,是容器遍历的精灵。第一部分:需求1)使用者:针对多种容器,希望所有遍历方法一样,如容器更换代码无需变动2)被使用者:不希望暴露内部实现细节,不同类型容器如何实现不需了解第二部分:使用迭代器的使用很简单,下面举例例子1:ArrayListpublicstaticvoidmain... 查看全文
· 白话说设计模式之装饰者模式发布时间:2013-09-15
设计模式分为三大类型,一创建型,二结构型,三行为型.而装饰者(decorator)模式是属于结构型的一种.此模式主要的适应情况是:需要多种情况组合出现时.也就是调用一个方法的时候,可能是ABC三个中的一种,也可能是他们的组合.AB,AC,BC,AC等等.如果听到类似的情形,需要组合多种情况出现的时候,就需要考虑到使用此种模式了.这个模式顾名思义:就是装饰,一个本体可以有多种装饰物,多个装饰物用来修饰一个本体.下面我们来举个小例子来加深下了解:大致情况是:一家人在吃饭,小明的碗里只有白米饭... 查看全文
· 设计模式之十(外观模式)发布时间:2013-09-12
前言外观模式:为子系统中的一组接口提供一个一致的界面,此模式定义了一个高层接口,这个接口使得这一系统更加容易使用.结构图SubSystemClass子系统类集合实现子系统的功能,处理Facade对象指派的任务,注意子类中没有Facade的任何信息,即没有对Facade对象的引用代码实现首先是四个子系统的类publicclassSubSystemOne{publicvoidMethodOne(){Console.WriteLine("子系统方法一");}... 查看全文
· 设计模式之九(模版方法模式)发布时间:2013-09-11
前言模版方法模式:定义一个操作中的算法的骨架,而将一些步骤延迟到子类中。模版方法使得子类可以不改变一个算法的结构即可重定义该算法的某些特定步骤。结构图代码实现AbstractClass是抽象类,其实也就是一抽象类,定义并实现了一个模版方法,这个模版方法一般是一个具体方法,它给出了一个顶级逻辑的骨架,而逻辑的组成步骤在相应的抽象操作中,推迟到子类实现。顶级逻辑也有可能调用一些具体方法。publicabstractclassAbstractClass... 查看全文
· C#设计模式(3)——工厂方法模式发布时间:2013-09-09
一、引言在简单工厂模式中讲到简单工厂模式的缺点,有一点是——简单工厂模式系统难以扩展,一旦添加新产品就不得不修改简单工厂方法,这样就会造成简单工厂的实现逻辑过于复杂,然而本专题介绍的工厂方法模式可以解决简单工厂模式中存在的这个问题,下面就具体看看工厂模式是如何解决该问题的。二、工厂方法模式的实现工厂方法模式之所以可以解决简单工厂的模式,是因为它的实现把具体产品的创建推迟到子类中,此时工厂类不再负责所有产品的创建,而只是给出具体工厂必须实现的接口... 查看全文
· C#设计模式(2)——简单工厂模式发布时间:2013-09-05
一、引言这个系列也是自己对设计模式的一些学习笔记,希望对一些初学设计模式的人有所帮助的,在上一个专题中介绍了单例模式,在这个专题中继续为大家介绍一个比较容易理解的模式——简单工厂模式。二、简单工厂模式的介绍说到简单工厂,自然的第一个疑问当然就是什么是简单工厂模式了?在现实生活中工厂是负责生产产品的,同样在设计模式中,简单工厂模式我们也可以理解为负责生产对象的一个类,我们平常编程中,当使用"new"关键字创建一个对象时,此时该类就依赖与这个对象,也就是他们之间的耦合度高... 查看全文
这篇博客写的非常好,我觉得我没有再写的必要http://www.cnblogs.com/wsdj-ITtech/archive/2009/10/19/1585708.html... 查看全文
· java设计模式学习发布时间:2013-08-30
观察者模式:Observer模式:定义对象间的一种一对多的依赖关系,当一个对象的状态发生改变时,所有依赖于它的对象都得到通知并被自动更新所以需要在被观察者里面保存一个集合,存放所有依赖它的观察者,在java.util.Observable里面使用的是Vector,具体可以查看java.util.Observable的代码使用java提供的java.util.Observable和java.util.Observable可以很方便实现观察者模式:观察者1:importjava.util... 查看全文
· java设计模式详解发布时间:2013-08-30
java设计模式一.创建型设计模式1.简单工厂模式基本简介:从设计模式的类型上来说,简单工厂模式是属于创建型模式,又叫做静态工厂方法(StaticFactoryMethod)模式,但不属于23种GOF设计模式之一。简单工厂模式是由一个工厂对象决定创建出哪一种产品类的实例。简单工厂模式是工厂模式家族中最简单实用的模式,可以理解为是不同工厂模式的一个特殊实现。简单工厂模式的实质是由一个工厂类根据传入的参数,动态决定应该创建哪一个产品类(这些产品类继承自一个父类或接口)的实例... 查看全文
· PHP中的一些实用设计模式之一发布时间:2013-08-29
全文地址:http://www.ihuxu.com/static/archives/20130824201234.html目录:1、适配器模式2、装饰器模式3、数据访问对象模式正文:1、适配器模式功能:适配器模式将某个对象的接口适配为另一个对象所期望的的接口。在学习Java中,就会遇到很多适配器的例子。比如,KeyAdapter抽象适配器类。其通过implementsKeyListener,使编程只需针对关心的事件定义方法。如果,直接implementsKeyListener... 查看全文
· PHP设计模式之观察者模式发布时间:2013-08-29
原文地址:PHP设计模式之观察者模式功能描述:观察者设计模式能够更便利地创建查看目标对象状态的对象,并且提供与核心对象非耦合的指定功能性。也就是说,利用这种模式可以方便地创建一个对象(观察者),其可以用来“监视”另一个对象(被观察者)的状态。这样,就可以在不必完全重构某些核心对象(可以理解成被观察者)的情况下,向现有的应用层序填加额外的功能。这意味着,当一个对象发出一个action时,需要进行另一个未知的action时,利用观察者设计模式更为合理。应用:用户注册(下面以此为例),插件系统等... 查看全文
publicinterfaceIFilterMethod{List<UserModel>doCallFilter(UserModeluserModel);}publicclassUserModelimplementsSerializable{/****/privatestaticfinallongserialVersionUID=1L;privateStringuserName;privateStringpassword;privateStringaddress... 查看全文
· 设计模式之组合模式发布时间:2013-08-21
先看一下结构图2.如果把Composite模式看成是树形结构的话,那么它主要角色有:1)抽象构件角色(Component):该角色是一个抽象类,它定义了一些操作增删树叶(Leaf)的操作。2)树枝构件角色(Composite):树枝上有很多树干,树枝也是树干的一种。3)树叶构件角色(Leaf):树枝上的树叶,也就是Component中的具体操作对象【注意没有,因为处在最末端所有没有add和remove方法】3.组合模式(Composite):将对象组合成树形结构以表示“部分-整体”的层次结构... 查看全文
设计模式(Designpattern)是经过程序员反复实践后形成的一套代码设计经验的总结。设计模式随着编程语言的发展,也由最初的“编程惯例”逐步发展成为被反复使用、并为绝大多数程序员所知晓的、完善的理论体系。我们使用设计模式(Designpattern)的初衷,是使代码的重用度提高、让代码能够更容易被别人理解以及保证代码的可靠性。毫无疑问,在程序中使用设计模式无论是对于程序员自身还是对于应用程序都是双赢的结果。正确地使用设计模式,能够使我们编程真正实现工程化和规范化... 查看全文