- 浏览: 170210 次
- 性别:
- 来自: 上海
文章分类
- 全部博客 (193)
- Axis2 (10)
- Andriod (2)
- Java (22)
- Eclipse (2)
- 程序人生 (3)
- Windows (1)
- Sql Server 2005/2008 (7)
- 健身 (2)
- Log4j (1)
- Ant (1)
- Fatjar (2)
- 国际化 (1)
- Linux (3)
- JDBC (1)
- Oracle (2)
- 各种报错 (4)
- SWT (5)
- Tomcat (2)
- 车辆管理 (1)
- SVN (2)
- Spring (5)
- 域名服务器 (0)
- HaoWaYa (1)
- FTP (1)
- 集散中心 (1)
- 专业知识 (1)
- 面试准备 (19)
- 设计模式 (22)
- Junit (1)
- 软件下载 (3)
- 深入理解Java虚拟机 (3)
- 数据结构 (4)
- 雅思 托福 (0)
- UML (1)
- Maven (1)
- CV (1)
- ServiceMix (1)
- 电子书 (5)
- Struts1/2 (4)
- DOM W3C DHTML (3)
- Jawr (1)
- LoadRunner (1)
- Java反编译 (0)
- 英语学习 (0)
- 技术书籍 (1)
- Cygwin (0)
- ibatis (1)
- 数据库 (1)
- jQuery (0)
- s (2)
- 源代码项目 (5)
- JSRs (0)
- JCP (0)
- XML (2)
- Dojo (3)
- Effective Java (1)
- 一站到底 (3)
- JavaScript (6)
- DB2 (1)
- 刷机 (1)
- 字符 (1)
- Dynamic Web Project (1)
- 股市日记 (1)
- 代码片段 (0)
- CSS (1)
- PDF (0)
- 英语口语 (1)
- 乒乓球 (1)
- 体检 (0)
- 送花 (0)
- 面试准备-再战江湖 (5)
- ddq (0)
- sss (0)
- ssssss (0)
- 2020面试 (0)
最新评论
-
samsongbest:
Copperfield 写道你的目标很远大,佩服~惭愧,都忘了 ...
人生目标 -
Copperfield:
你的目标很远大,佩服~
人生目标
第一部分 接口型模式
1. Adapter(适配器)模式
Adapter模式的宗旨就是,保留现有类所提供的服务,向客户提供接口,以满足客户的期望。
1.1 接口适配
继承老类,实现新类,实现新类的方法里调用老类方法。
1.2 类和对象适配器
继承新类,老类当属性,继承新类方法里调用老类方法。
2. Facade(外观)模式
Facade模式的目的在于提供一个接口,使子系统更加容易使用。
把子系统的类重构为一个个目的明确的类,为了子系统便于使用,在子系统中顺带提供一些示例类或者外观类。
3. Composite(组合)模式
让用户用统一的接口处理对象以及对象组合。
4. Bridge(桥接)模式
将抽象与抽象方法的实现相分离,让他们可以独自变化。
把不同实现的方法移到一个新的Driver类中,然后把Driver类作为属性。
有名的例子:JDBC数据库驱动程序
第二部分 责任型模式
5. Singleton(单例)模式
确保某个类只有一个实例,并提供一个全局访问点。
实现方法一:将单例对象作为单例类的一个静态域创建实例。
private static Factory factory = new Factory(); public static Factory getFactory() { if(factory == null) factory = new Factory(); return factory; }
实现方法二(单例和线程):
private static Factory factory; private static Object classLock = Factory.class; public static Factory getFactory() { synchronized(classLock) { if(factory == null) factory = new Factory(); return factory; } }
6. Observer(观察者)模式
频繁用于GUI应用程序中。当一个对象状态改变时,所有依赖于这个对象的对象都能得到通知。
继承Observable,在方法中通过notifyObservers()通知观察者。
7. Mediator(中介者)模式
广泛用于GUI应用开发。将对象集合之间的交互封装起来,降低耦合程度,避免显式引用。
8. Proxy(代理)模式
为对象提供一个代理/占位来控制对对象的访问。
代理对象,实现InvocationHandler接口,实现invoke方法。
9. Chain of Responsibility(责任链)模式
让每个对象决定是否有机会处理请求。
10. Flyweight(享元)模式
共享的提取出来。
第三部分 构造型模式
11. Builder(生成器)模式
将复杂对象的构造逻辑从对象中分离出来。
从配置文件中读取字段,赋给一个bean一样的类,通过这个类来build一个对象。
12. Factory Method(工厂方法)模式
创建对象,控制对哪个类进行实例化,不需要具体知道初始化了哪个类,
http://www.jdon.com/designpatterns/designpattern_factory.htm
13. Abstract Factory(抽象工厂)模式
创建一系列相互关联或相互依赖的对象。GUI工具包就是一个抽象工厂。这个模式最经典的范例是“外观和感觉”系列——GUI控件族。
14. Prototype(原型)模式
不通过实例化来创建一个实例,通过复制一个现有对象来生成新的对象。
可以借助Object.clone()方法,但可能不是开发者想要的副本,进一步复制工作需要由开发者完成。
(是否是浅复制,即对象中的对象属性的对象没有复制?)
15. Memento(备忘录)模式
提供状态存储和状态恢复功能。最常用的用法是在应用程序中提供撤销操作。暂时的可以放在容器中,持久化可以放在文本文件中。
第四部分 操作型模式
16. Template Method(模板方法)模式
概念: 抽象出方法的框架,包括处理步骤或流程,子类给出具体的实现。
用处:在父类中规范流程,由子类去做不同的实现。
17. State(状态)模式
把状态有关的处理逻辑分散到代表对象状态的各个类中。
18. Strategy(策略)模式
可选的策略封装在不同的类中,并在这些类中实现一个共同的操作。
19. Command(命令)模式
把请求封装在对象里。
20. Interpreter(解释器)模式
第五部分 扩展型模式
21. Decorator(装饰器)模式
混合操作的不同变化。
22. Iterator(迭代器)模式
提供一个顺序访问集合元素的方法。
23. Visitor(访问者)模式
不修改现有类,定义类层次结构的新的操作。
保留最后行
发表评论
-
22 行为模式 - 调停者(Mediator)模式
2012-08-23 10:21 8261.用意 调停者模式包装了一系列对象相互 ... -
21 行为模式 - 解释器(Interpreter)模式
2012-08-23 10:18 7591.用意 给定一个语言之后,解释器模式可以定 ... -
20 行为模式 - 访问者(Visitor)模式
2012-08-22 10:28 8591.用意 封装一些施加于某种数据结构元素之上的操 ... -
19 行为模式 - 状态(State)模式
2012-08-22 10:25 7491.用意 状态模式允许一个对象在其内部状态改变的时候 ... -
18 行为模式 - 备忘录(Memento)模式
2012-08-22 10:12 838需要跟进多重检查点 ... -
17 行为模式 - 命令(Command)模式
2012-08-20 10:29 5621.用意 命令模式把一个请求或者操作封装到一个对象中。命令模 ... -
16 行为模式 - 责任链(Chain of Responsibility)模式
2012-08-20 10:24 7521.用意 在责任链模式里,很多对象由每一个对象对其下家的引用 ... -
15 行为模式 - 迭代子(Iterator)模式
2012-08-17 10:32 7371.用意 迭代子模式又叫游标模式,可以顺序地访问一个聚集中的 ... -
14 行为模式 - 观察者(Observer)模式
2012-08-09 10:27 8051.用意 观察者模式定义了一种一对多的依赖关系,让多个观察者 ... -
13 行为模式 - 模板方法(Template Method)模式
2012-08-09 10:21 6841.用意 准备一个抽象类,将部分逻辑以具体方法以及具体构造子 ... -
12 行为模式 - 策略(Strategy)模式
2012-08-07 10:00 7191.用意 针对一组算法,将每一个算法封装到具有共同接口的 ... -
11 结构模式 - 桥梁(Bridge)模式
2012-08-01 10:01 7291.用意 2.类图 3.代码 z 1.用意 将 ... -
10 结构模式 - 门面(Facade)模式
2012-07-31 13:52 6751.含义 外部与一个子系统的通信必须通过一个统一的门面对象进 ... -
09 结构模式 - 享元(Flyweight)模式
2012-07-31 13:47 8071.含义 享元模式以共享的方式高效地支持大量的细粒度对象。 ... -
8 代理(Proxy)模式
2012-07-31 09:48 8931.含义 代理模式给某一个对象提供一个代理对象,并由代理对象 ... -
7 装饰(Decorator)模式
2012-07-27 14:03 6971.含义 装饰模式又名包装(Wrapper)模式,以对客户端 ... -
6 合成(Composite)模式
2012-07-27 14:02 7651.含义 合成模式把部分和整体的关系用树结构表示出来。合成模 ... -
5 适配器(Adapter)模式
2012-07-27 13:52 7341. 含义 把一个类的接口变换成客户端所期待的另一种接口,从 ... -
4 原始模型(Prototype)模式
2012-07-27 10:49 7881. 含义 通过给出一个原型对象来指明所要创建的对象的类型, ... -
3 建造(Builder)模式
2012-07-27 09:44 7081.含义:建造模式可以将一个产品的内部表象与产品的生成过程分割 ...
相关推荐
本书设计实例从面向对象的设计中精选出23个设计模式,总结了面向对象设计中最有价值的经验,并且用简洁可复用的形式表达出来。本书分类描述了一组设计良好,表达清楚的软件设计模式,这些模式在实用环境下有特别有用...
这个压缩包包含的"23个设计模式C#代码"显然是对这23种经典设计模式的C#实现。 1. **单例模式**:保证一个类只有一个实例,并提供全局访问点。在C#中,可以使用静态内部类、懒加载或双检锁来实现。 2. **工厂模式**...
C#版的23个设计模式完整DEMO,包括: 创建型模式,共五种:工厂方法模式、抽象工厂模式、单例模式、建造者模式、原型模式。 结构型模式,共七种:适配器模式、装饰器模式、代理模式、外观模式、桥接模式、组合模式、...
这个名为“23个设计模式的UML图(visio版)”的压缩包文件包含了23种经典的GoF(Gang of Four)设计模式的统一建模语言(UML)图。Visio是一款由Microsoft公司开发的图表绘制工具,能够创建各种类型的图表,包括UML...
《GOF的23个设计模式》是一本经典的设计模式指南,由Erich Gamma、Richard Helm、Ralph Johnson和John Vlissides四位作者(通常称为“Gang of Four”,简称GOF)编写。这本书是软件工程领域的重要里程碑,详细阐述了...
《GOF 23个设计模式》是一本深入探讨软件设计的经典著作,由Erich Gamma、Richard Helm、Ralph Johnson和John Vlissides四位大师合著,他们被业界尊称为“Gang of Four”(GOF)。这本书详尽阐述了23种经典的设计...
JDK 中的 23 个设计模式简介 在 Java 开发领域,设计模式是一个非常重要的概念,它能够帮助开发者写出更加灵活、可维护、可扩展的代码。JDK 中也提供了许多设计模式的实现,本文将对其中的 23 个经典设计模式进行...
这个压缩包“23个设计模式C++代码.rar”包含了对设计模式的C++实现,是学习和理解设计模式的宝贵资源。 首先,我们来看一下三个主要类别:结构型、创建型和行为型设计模式。 1. **结构型设计模式**关注如何组织类...
在《23个设计模式图解--学习笔记》中,我们探讨了这些模式,以便于理解和应用到实际开发中。以下是这23个设计模式的详细说明: 1. **工厂方法**(Factory Method):定义一个用于创建对象的接口,让子类决定实例化...
这个压缩包包含了C#实现的23个经典设计模式,下面将对这些模式进行详细解释。 1. **单例模式**:确保一个类只有一个实例,并提供全局访问点。在C#中,可以通过静态属性和双重检查锁定来实现线程安全的单例。 2. **...
这23个设计模式是软件工程中广泛认可的经典模式,它们源自于Erich Gamma、Richard Helm、Ralph Johnson和John Vlissides合著的《设计模式:可复用面向对象软件的基础》一书,被誉为“Gang of Four”(GoF)的设计...
本资源包含23个设计模式的C++源代码实现,旨在帮助你深入理解和应用这些模式。 1. **单例模式(Singleton)**:确保一个类只有一个实例,并提供全局访问点。在C++中,可以使用静态成员变量或者私有构造函数和友元...
以下是这23个设计模式的详细说明: 1. **单例模式**:保证一个类只有一个实例,并提供全局访问点。示例中可能包含Singleton类,通过私有构造器和静态工厂方法来控制实例化。 2. **工厂模式**:提供一个接口用于...
本项目主要基于《大话设计模式》这本书,对该书的设计原则和23个设计模式进行解读,原书是C#语言编写,本项目使用其他各种编程语言进行代码重写,供大家了解其他语言在设计模式中的编程方式和技巧。   ...
设计模式详解 设计模式是软件开发中的一...在本文中,我们对23种常见的设计模式进行了整理和解释,每种模式都有其优点和缺点,开发者可以根据实际情况选择合适的设计模式,以提高代码的可重用性、可维护性和可扩展性。