![](https://img-blog.csdnimg.cn/20201014180756919.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
设计模式
文章平均质量分 89
cangqiongshengjian
这个作者很懒,什么都没留下…
展开
-
观察者模式
简单地说,观察者模式定义了[b][size=midium]一个一对多的依赖关系,让一个或多个观察者对象监察一个主题对象[/size][/b]。这样一个主题对象在状态上的变化能够通知所有的依赖于此对象的那些观察者对象,使这些观察者对象能够自动更新。在java.util包中,已经内置了观察者模式,他们分别为被观察者(类Obserable)和观察者接口(Observer)代码如下:[code...原创 2012-11-29 23:55:13 · 71 阅读 · 0 评论 -
策略模式
策略模式定义了一系列的算法,并将每一个算法封装起来,而且使它们还可以相互替换。策略模式让算法独立于使用它的客户而独立变化。[img]http://dl.iteye.com/upload/attachment/0077/8431/7bb3f063-40a6-30be-a17b-2b33458fee93.jpg[/img]Context( 应用场景 ): 需要使用 C...原创 2012-12-12 22:53:16 · 69 阅读 · 0 评论 -
代理模式
一、定义和分类代理模式在设计模式中的定义就是:为其他对象提供一种代理以控制对这个对象的访问。说白了就是,在一些情况下客户不想或者不能直接引用一个对象,而代理对象可以在客户和目标对象之间起到中介作用,去掉客户不能看到的内容和服务或者增添客户需要的额外服务。 那么什么时候要使用代理模式呢?在对已有的方法进行使用的时候出现需要对原有方法进行改进或者修改,这时候有两种改进选择:修改原有方法来适应现...原创 2012-12-12 21:38:37 · 97 阅读 · 0 评论 -
模板模式
1. 概述 定义一个操作中的算法的骨架,而将步骤延迟到子类中。模板方法使得子类可以不改变一个算法的结构即可重定义算法的某些特定步骤。2. 模式中的角色 2.1 抽象类(AbstractClass):实现了模板方法,定义了算法的骨架。 2.2 具体类(ConcreteClass):实现抽象类中的抽象方法,已完成完整的算法。3. 模式解读 3.1 模板方法类图...原创 2012-12-04 15:23:32 · 65 阅读 · 0 评论 -
门面模式
外观模式(又称门面模式)是软件工程中常用的一种软件设计模式。提供了统一的接口。用来访问子系统中的一群接口。外观模式定义了一个高层接口,让子系统更容易使用。[img]http://dl.iteye.com/upload/attachment/0077/3587/6d401ce6-b45c-302f-90a1-f320d4fc66aa.png[/img] Facade 这个外观类...原创 2012-12-02 22:41:08 · 72 阅读 · 0 评论 -
适配器模式
定义:[b]适配器模式将一个接口转换成客户希望的另外一个接口。它使得原来由于接口不兼容而不能在一起工作的那些类可以一起工作。[/b] 让我们来看看他的模型图: [img]http://dl.iteye.com/upload/attachment/0077/3570/23fb64b5-9961-38b9-acea-31a595ff308d.jpg[/img] ...原创 2012-12-02 22:01:52 · 64 阅读 · 0 评论 -
命令模式
定义将一个请求封装为一个对象,从而使你可用不同的请求对客户进行参数化;对请求排队或记录请求日志,以及支持可撤销的操作。结构和说明Command:定义命令的接口,声明执行的方法。ConcreteCommand:命令接口实现对象,是“虚”的实现;通常会持有接收者,并调用接收者的功能来完成命令要执行的操作。Receiver:接收者,真正执行命令的对...原创 2012-12-02 20:46:07 · 135 阅读 · 0 评论 -
单例模式
我们都知道单例模式定义其实很简单:确保一个类只有一个实例,并提供一个全局访问点。其实,创建单例模式四种方法,如下:1. 我们一般的做法都是创建一个私有构造器,通过调用方法来进行创建,代码如下:[code="java"]public class Singleton { private static Singleton singleton; private Sin...原创 2012-12-02 16:27:13 · 59 阅读 · 0 评论 -
工厂模式
工厂模式主要是为创建对象提供了接口。工厂模式按照《Java与模式》中的提法分为三类:1. 简单工厂模式(Simple Factory) 2. 工厂方法模式(Factory Method) :定义一个创建对象的接口,但是由子类决定要实例化的类是哪一个,工厂方法让类把实例化推迟到子类。3. 抽象工厂模式(Abstract Factory) : 提供一个接口,用于[b]创建相关或依赖对象的...原创 2012-12-02 15:39:02 · 70 阅读 · 0 评论 -
装饰模式
今天我们来看看装饰模式,官网上的定义为[b]装饰者模式动态地将责任附加到对象上,若要扩展功能,装饰者模式提供了比集成更有弹性的体态方案[/b]。 我们说的更具体一点,现在我们有一个基类,但是现在我们需要给他添加一些功能或者属性,一般的做法就是继承基类,添加新增的方法和属性,但是如果我还需要增加一个方法和属性,有需要在上面的基础上再继承。这样导致类与类之间聚合度很强以及...原创 2012-12-01 16:00:19 · 91 阅读 · 0 评论 -
建造者模式
Builder模式的定义是:[b]将一个复杂对象的构建与其表示相分离,使得同样的构建过程可以创建不同的表示。[/b] 首先它意图是要构建一个复杂的对象,而这个复杂的对象往往需要由好几个子对象或分步聚来完成最终的这个对象的构建,而这个复杂对象的子对像经常需要不断的变化,但它的构建过程是相对是稳定的。在构造一个对象的时候,往往有很多复杂的过程和次序,例如建造一个机器人,那要先造头,...原创 2012-12-15 21:25:17 · 78 阅读 · 0 评论