design pattern(java)
iteye_5504
这个作者很懒,什么都没留下…
展开
-
设计模式-Singleton
[b]单例模式:[/b]作为对象的创建模式,单例模式确保某一个类只有一个实例,而且自行实例化并向整个系统提供这个实例。这个类称为单例类。[b]单例模式的特点:[/b]单例类只能有一个实例。单例类必须自己创建自己的唯一实例。单例类必须给所有其他对象提供这一实例。单例模式是最简单的设计模式,但是完全使用java构造一个线程安全的高效的单例,是需要有一定线程安全理...2013-05-16 10:40:14 · 61 阅读 · 0 评论 -
设计模式-Command
[b]命令模式[/b]:将一个请求封装为一个对象,从而使你可以用不同的请求对客户进行参数化操作,实现对请求排队或记录请求日志,以及支持可撤销的操作。[b]模式分析[/b]:1.命令模式的本质是对命令进行封装,将发出命令的责任和执行命令的责任分割开。2.每一个命令都是一个操作:请求的一方发出请求,要求执行一个操作;接收的一方收到请求,并执行操作。3.命令模式允许请求的一方和接收的...原创 2016-10-16 17:04:37 · 83 阅读 · 0 评论 -
设计模式-Prototype
学习参考:[url]http://www.cnblogs.com/hegezhou_hot/archive/2010/12/04/1896471.html[/url][b]定义:[/b]是一种创建型设计模式,它通过复制一个已经存在的实例来返回新的实例,而不是新建实例.被复制的实例就是我们所称的原型,这个原型是可定制的.[b]重点:[/b]1、原型模式主要用于对象的复制,Pr...2016-10-16 12:31:15 · 64 阅读 · 0 评论 -
设计模式-Builder
[b]建造者模式[/b]: 将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示。提供一种“封装机制”来隔离“复杂对象的各个部”的变化,从而保持系统中的“稳定构建算法”而不随需求的变化而变化。[b]解决的问题:[/b]主要解决在软件系统中,有时候面临着"一个复杂对象"的创建工作,其通常由各个部分的子对象用一定的算法构成;由于需求的变化,这个复杂对象的各个部分...2016-10-14 16:06:04 · 90 阅读 · 0 评论 -
设计模式-Proxy
[b]代理模式:[/b]1、表现为了控制对真实对象的访问,提供一个代理的角色,客户端通过调用代理实现访问真实对象。2、表现为 对真实对象的操作进行拦截,再调用真实对象前后,代理对象做一些操作[b]特点:[/b]1、代理对象和真实对象有公共的接口,这个接口暴露给客户端。2、代理对象持有真实对象3、客户端通过访问代理对象 实现访问真实对象的目的4、代理对象可以在调用真实...2016-10-14 14:20:38 · 78 阅读 · 0 评论 -
设计模式-Strategy
[b]策略模式:[/b] 属于对象的行为模式。其用意是针对一组算法,将每一个算法封装到具有共同接口的独立的类中,从而使得它们可以相互替换。策略模式使得算法可以在不影响到客户端的情况下发生变化。[b]角色划分:[/b]抽象策略角色: 由一个接口或者抽象类实现 具体策略角色: 包装了相关的算法和行为 环境角色(客户端): 持有一个策略类的引用结构:[img]http://d...2016-10-13 14:33:46 · 114 阅读 · 0 评论 -
设计模式-templete method
[b]模板方法模式:[/b]在一个方法中定义一个算法的骨架,而将一些步骤延迟到子类中。模板方法使得子类可以在不改变算法结构的情况下,重新定义算法中的某些步骤。模板方法的实现需要语言层面的支持:比如继承,多态。[b]关注点:[/b]1、抽象类实现一个算法的不变的部分,并将可变的行为留给子类来实现;抽象类一般用来控制执行流程,是主逻辑;各子类中公共的行为应被提取出来并集中到...2016-10-12 20:23:19 · 87 阅读 · 0 评论 -
设计模式-Abstract Factory
[b]定义[/b]:为创建一组相关或相互依赖的对象提供一个接口,而且无需指定他们的具体类。[b]特点:[/b]1、多个产品系列 工厂方法一般是一个产品系,抽象工厂是多个2、抽象工厂接口 提供获取多个获取产品的方法(产品簇)3、具体工厂 工厂方法:只生产一种产品;抽象工厂:生产一个产品族产品簇:是指位于不同产品等级结构中,功能相关联的产品组成的家族...2016-10-12 19:58:42 · 131 阅读 · 0 评论 -
设计模式-factory method
[b]工厂方法模式(FACTORY METHOD):[/b]是一种常用的对象创建型设计模式,此模式的核心精神是封装类中不变的部分,提取其中个性化善变的部分为独立类,通过依赖注入以达到解耦、复用和方便后期维护拓展的目的。它的核心结构有四个角色,分别是抽象工厂;具体工厂;抽象产品;具体产品。[b]工厂方法(Factory Method)模式的实现[/b]:定义一个创建产品对象的工厂接口,将...2016-10-12 12:49:57 · 89 阅读 · 0 评论 -
设计模式-static factory method
[b]背景:[/b]在什么样的情况下我们应该记得使用工厂模式呢?大体有两点:1.在编码时不能预见需要创建哪种类的实例。2.系统不应依赖于产品类实例如何被创建、组合和表达的细节这个模式本身很简单而且使用在业务较简单的情况下。一般用于小项目或者具体产品很少扩展的情况(这样工厂类才不用经常更改)简单工厂模式(静态工厂方法):是由一个工厂对象决定创建出哪一种产品类的实例。简...2016-10-12 10:50:41 · 82 阅读 · 0 评论 -
设计模式-Bridge
Bridge:桥接设计模式[b]用意:[/b]【GOF95】在提出桥梁模式的时候指出,桥梁模式的用意是"将抽象化(Abstraction)与实现化(Implementation)脱耦,使得二者可以独立地变化"。这句话有三个关键词,也就是抽象化、实现化和脱耦。[b]抽象化[/b]:存在于多个实体中的共同的概念性联系,就是抽象化。作为一个过程,抽象化就是忽略一些信息,从而把不同的实...2016-10-11 17:21:38 · 163 阅读 · 0 评论 -
设计模式-Immutable
不变设计模式:不变模式的用意是对象生成之后就不能再改变了 尤其在多并发程序中:为确保数据的一致性和正确性,又必要对对象进行同步,但是同步操作对系统性能有相当的损耗。因此可以使用一种不可改变的对象,依靠其不变形来确保并行操作在没有同步的情况下依旧保持一致性和正确性。 保持对象不可变的手段:1、基本类型 ,final修饰 或者 不提供set方法2、引用类型(包括集合类型),...2017-01-06 15:37:06 · 157 阅读 · 0 评论