最新文章列表

学习设计模式笔记

 总体:对于设计模式其实就是加入了一个中间层   简单工厂:对具体实现类较为固定的业务可以使用该模式 缺点:不支持开闭原则,新增加一个实 ...
zw1502071 评论(0) 有720人浏览 2013-03-03 16:53

GoF设计模式简介

                                    Introduction of Design Pattern In software engineering, a design pattern is a general reusable solution to a commonly occurring problem within a given context in so ...
liu_sha 评论(0) 有666人浏览 2012-04-19 13:38

GOF设计模式

GoF:(Gang of Four,GOF设计模式)---四人组 Design Patterns: Elements of Reusable Object-Oriented Software(即后述《设计模式》一书),由 Erich Gamma、Richard Helm、Ralph John ...
wytheit 评论(0) 有1095人浏览 2012-02-25 00:27

Proxy设计模式

(1)简介 Proxy模式也叫代理模式,是由GoF提出的23种软件设计模式的一种。Proxy模式是构造型的设计模式之一. 所谓代理,是指具有与代理元(被代理的对象)具有相同的接口的类,客户端必须通过代理与被代理的目标类交互,而代理一般在交互的过程中(交互前后),进行某些特别的处理。 根据这些“特别处理”的不同,有以下几种常见的代理模式: - Remote proxy:远程代理。该代理可以让客户 ...
wy649898543 评论(0) 有1167人浏览 2012-02-23 16:04

GOF的由来

     《Design Patterns: Elements of Reusable Object-Oriented Software》(即后述《设计模式》一书),由 Erich Gamma、Richard Helm、Ralph Johnson 和 John Vlissides 合著(Addison-Wesley,1995)。这几位作者常被称为"四人组(Gang of Four)&quo ...
wy649898543 评论(0) 有1042人浏览 2012-02-22 17:50

GoF 设计模式

GoF     定义:GoF(Gang of Four),中文名——四人组。GoF是一种设计模式。 GoF的起源   《Design Patterns: Elements of Reusable Object-Oriented Software》(即后述《设计模式》一书),由 Erich Gamma、Richard Helm、Ralph Johnson 和 John Vlissides 合著 ...
lh870003574 评论(0) 有1902人浏览 2012-01-03 14:04

Strategy Pattern的位置

I'm including an encapsulation hierarchy table of several of the GoF design patterns to help explain the differences between these two patterns. Hopefully it better illustrates what each encapsulat ...
gof 
michaelljx 评论(0) 有630人浏览 2011-12-12 10:02

工厂模式

一、工厂模式主要是为创建对象提供过渡接口,以便将创建对象的具体过程屏蔽隔离起来,达到提高灵活性的目的。 工厂模式在《Java与模式》中分为三类: 1)简单工厂模式(Simple Factory):不利于产生系列产品; 2)工厂方法模式(Factory Method):又称为多形性工厂; 3)抽象工厂模式(Abstract Factory):又称为工具箱,产生产品族,但不利于产生新的产品; ...
new_restart 评论(0) 有1134人浏览 2011-11-11 19:55

设计模式之Visitor

Visitor定义 作用于某个对象群中各个对象的操作. 它可以使你在不改变这些对象本身的情况下,定义作用于这些对象的新操作. 在Java中,Visitor模式实际上是分离了collection结构中的元素和对这些元素进行操作的行为. 为何使用Visitor? Java的Collection(包括Vector和Hashtable)是我们最经常使用的技术,可是Collection好象是个黑色大染缸, ...
chenzhaogogogo 评论(0) 有856人浏览 2011-10-11 15:24

设计模式之Template

Template定义: 定义一个操作中算法的骨架,将一些步骤的执行延迟到其子类中. 其实Java的抽象类本来就是Template模式,因此使用很普遍.而且很容易理解和使 ...
chenzhaogogogo 评论(0) 有639人浏览 2011-10-11 14:53

设计模式之Strategy(策略)

Strategy是属于设计模式中 对象行为型模式,主要是定义一系列的算法,把这些算法一个个封装成单独的类. Stratrgy应用比较广泛,比如, 公司经营业务变化图, 可能有两种实现方式,一个是线条曲线,一个是框图(bar),这是两种算法,可以使用Strategy实现. 这里以字符串替代为例, 有一个文件,我们需要读取后,希望替代其中相应的变量,然后输出.关于替代其中变量的方法可能有多种方法,这 ...
chenzhaogogogo 评论(0) 有619人浏览 2011-10-11 14:42

设计模式之State

State的定义: 不同的状态,不同的行为;或者说,每个状态有着相应的行为. 何时使用? State模式在实际使用中比较多,适合"状态的切换".因为我们经常 ...
chenzhaogogogo 评论(0) 有743人浏览 2011-10-10 10:02

设计模式之Singleton(单态)

定义: Singleton模式主要作用是保证在Java应用程序中,一个类Class只有一个实例存在。 在很多操作中,比如建立目录 数据库连接都需要这样的单线程操作。 还有, singleton能够被状态化; 这样,多个单态类在一起就可以作为一个状态仓库一样向外提供服务,比如,你要论坛中的帖子计数器,每次浏览一次需要计数,单态类能否保持住这个计数,并且能synchronize的安全自动加1,如果 ...
chenzhaogogogo 评论(0) 有762人浏览 2011-10-10 09:24

设计模式之Proxy(代理)

理解并使用设计模式,能够培养我们良好的面向对象编程习惯,同时在实际应用中,可以如鱼得水,享受游刃有余的乐趣. Proxy是比较有用途的一种模式,而且变种较多,应用场合覆盖从小结构到整个系统的大结构,Proxy是代理的意思,我们也许有代理服务器等概念,代理概念可以解释为:在出发点到目的地之间有一道中间层,意为代理. 设计模式中定义: 为其他对象提供一种代理以控制对这个对象的访问. 为什么要使用P ...
chenzhaogogogo 评论(0) 有713人浏览 2011-10-10 09:11

设计模式之Prototype(原型)

定义: 用原型实例指定创建对象的种类,并且通过拷贝这些原型创建新的对象. Prototype模式允许一个对象再创建另外一个可定制的对象,根本无需知道任何如何创建的细节,工作原理是:通过将一个原型对象传给那个要发动创建的对象,这个要发动创建的对象通过请求原型对象拷贝它们自己来实施创建。 如何使用? 因为Java中的提供clone()方法来实现对象的克隆(具体了解clone()按这里),所以Prot ...
chenzhaogogogo 评论(0) 有685人浏览 2011-10-09 14:56

设计模式之Observer

Java深入到一定程度,就不可避免的碰到设计模式(design pattern)这一概念,了解设计模式,将使自己对java中的接口或抽象类应用有更深的理解.设计模式在java的 ...
chenzhaogogogo 评论(0) 有627人浏览 2011-10-09 14:47

设计模式之Memento(备忘机制)

Memento定义: memento是一个保存另外一个对象内部状态拷贝的对象.这样以后就可以将该对象恢复到原先保存的状态. Memento模式相对也比较好理解,我们看下列代码: public class Originator {    private int number;   private File file = null;   public Originator(){}   / ...
chenzhaogogogo 评论(0) 有693人浏览 2011-10-09 14:30

设计模式之Mediator(中介者)

Mediator定义: 用一个中介对象来封装一系列关于对象交互行为. 为何使用Mediator? 各个对象之间的交互操作非常多;每个对象的行为操作都依赖彼此对方,修 ...
chenzhaogogogo 评论(0) 有718人浏览 2011-10-09 14:23

设计模式之Interpreter(解释器)

Interpreter定义: 定义语言的文法 ,并且建立一个解释器来解释该语言中的句子. Interpreter似乎使用面不是很广,它描述了一个语言解释器是如何构成的,在实际应用中,我们可能很少去构造一个语言的文法.我们还是来简单的了解一下: 首先要建立一个接口,用来描述共同的操作. public interface AbstractExpression {    void interpre ...
chenzhaogogogo 评论(0) 有875人浏览 2011-10-09 09:45

设计模式之Flyweight(享元)

Flyweight定义: 避免大量拥有相同内容的小类的开销(如耗费内存),使大家共享一个类(元类). 为什么使用? 面向对象语言的原则就是一切都是对象,但是如果真正使用起来,有时对象数可能显得很庞大,比如,字处理软件,如果以每个文字都作为一个对象,几千个字,对象数就是几千,无疑耗费内存,那么我们还是要"求同存异",找出这些对象群的共同点,设计一个元类,封装可以被共享的类,另外, ...
chenzhaogogogo 评论(0) 有650人浏览 2011-10-08 17:35

最近博客热门TAG

Java(141744) C(73651) C++(68608) SQL(64571) C#(59609) XML(59133) HTML(59043) JavaScript(54919) .net(54785) Web(54514) 工作(54118) Linux(50905) Oracle(49875) 应用服务器(43289) Spring(40812) 编程(39454) Windows(39381) JSP(37542) MySQL(37267) 数据结构(36424)

博客人气排行榜

    博客电子书下载排行

      >>浏览更多下载

      相关资讯

      相关讨论

      Global site tag (gtag.js) - Google Analytics