
Design & Patterns
surprisesdu
这个作者很懒,什么都没留下…
展开
-
《Java与模式》学习笔记之一――简单工厂模式(Simple Factory Pattern)
很久没有好好看书了, 空虚的很, 所以打算系统的学习一下设计模式, 为明年的论文做准备。 为了督促自己, 写此学习笔记。学习贵在坚持, 听力贵在坚持, 锻炼身体贵在坚持, 所以, 做好任何事情都贵在坚持。因为现在一直在用J#,所以所有源代码都用J#实现, 在VS2005环境中.其实很多人听说我在用J#的时候, 第一个直接反映就是眼睛放大,原创 2006-01-05 16:46:00 · 1154 阅读 · 0 评论 -
《Java与模式》学习笔记之二---工厂方法模式(Factory Method)
问题: 在学习笔记一中曾提到简单工厂模式的缺点是对"开-闭"原则支持不够, 当系统中有新产品加入时, 必须修改工厂类, 添加必要的逻辑在工厂类中. 为了克服简单工厂模式的缺点, 引入了工厂方法模式. 即增加一个抽象工厂接口, 仅负责给出具体工厂类必须实现的接口, 不负责哪个抽象类被实例化的细节. 工厂方法模式可以使系统在不修改具体工厂类的情况原创 2006-01-09 13:50:00 · 1683 阅读 · 0 评论 -
《Java与模式》学习笔记之七―――建造模式(Builder Pattern)
问题: 当我们要创建的对象很复杂的时候(一般是由很多其它的对象组合而成),最好将对象的创建和表示分离开来,这样做的好处就是通过一步步地进行复杂对象的创建而且每一步构造的过程引入不同的参数,使得相同的创建步骤可以得到不同的对象。 特别是一个对象的多个构造过程的顺序一定时,如构造过程A必须在构造过程B之前进行,建造模式是个不错的选择。类图:Rose图像就是插入不了,原创 2006-03-10 16:30:00 · 2095 阅读 · 0 评论 -
《Java与模式》学习笔记之八---原始模型模式(Prototype Pattern)
原始模型模式属于对象的创建模式,通过给出一个原型对象来指明所要创建的对象的类型,然后用复制这个原型对象的办法创建出更多同类型的对象。 原始模型模式有两种形式:简单形式和登记形式。 简单形式的原始模型类图: 源代码:public interface Prototype extends Cloneable { Object clone();原创 2006-03-22 11:27:00 · 3335 阅读 · 0 评论 -
《Java与模式》学习笔记之四——适配器(Adapter)模式
适配器模式(Adapter Pattern)[GOF95]把一个类的接口变换成客户端所期待的另一种接口,从而使原本因接口不匹配而无法在一起工作的两个类能够在一起工作。问题:我们已经在应用程序中设计了接口sampleOperation1, 然后我们又为了加快开发而购买了可以很好的完成此功能的第三方库, 然而第三方库的接口sampleOperation2和我们设计的接口sampleOperat原创 2006-02-22 17:41:00 · 5591 阅读 · 5 评论 -
《Java与模式》学习笔记之三-----装饰(Decorator)模式
装饰模式又称包装(Wrapper)模式,是以对客户端透明的方式扩展对象的功能,是继承关系的一个替代方案。对客户端透明意味着接口不变。问题:在OO设计和开发过程中, 经常会遇到下面的情况: 我们需要为已经设计好的类添加新的职责, 通常情况下我们会定义一个新类继承自定义好的类. 由于组合比继承更好(复杂度高,继承深度深等原因, 见设计模式解析>P39讨论), 今天我们就来介绍一下应用的原创 2006-02-22 15:59:00 · 4206 阅读 · 1 评论 -
《Java与模式》学习笔记之九-----策略模式(Strategy Pattern)
策略模式是对算法的包装,把使用算法的责任和算法本身分隔开,委派给不同的对象管理。策略模式通常把一系列的算法包装到一系列的策略类里面,作为一个抽象策略类的子类。何时使用策略模式:1) 如果在一个系统里面有许多类,它们之间的区别仅在于它们的行为,那么使用策略模式可以动态的让一个对象在许多行为中选择一种行为。2) 如果系统需要动态地在几种算法中选择一种。那么这些算法可以包装到一个个的具体原创 2006-03-24 10:48:00 · 8260 阅读 · 0 评论 -
《Java与模式》学习笔记之五――抽象工厂模式(Abstract Factory Pattern)
问题: 当系统要创建一组相关或者相互依赖的对象时, 请使用抽象工厂模式. 抽象工厂模式可以向客户端提供一个接口, 使得客户端可以在不必指定产品的具体类型的情况下, 创建多个产品族中的产品对象. 这就是抽象工厂的用意. 类图: 源代码:package com.designpatterns.AbstractFactory;/** * 抽象工厂 */public原创 2006-02-27 17:07:00 · 1741 阅读 · 0 评论 -
《Java与模式》学习笔记之六----单例模式(Singleton Pattern)
作为对象的创建模式[GOF95],单例模式确保某一个类只有一个实例,而且自行实例化并向整个系统提供这个实例,这个类称为单例类. Singleton模式是设计模式中最为简单,最为常见,最容易实现,也是最应该熟悉和掌握的模式.在公司招聘时单例模式是考的最多的模式.问题:如果你的系统中要创建一个唯一的对象, 请使用单例模式. 如数据库连接, 打印机的实例等.单例类分为三种:饿汉式,懒原创 2006-02-28 15:34:00 · 1946 阅读 · 0 评论