设计模式
文章平均质量分 79
tianya3530
这个作者很懒,什么都没留下…
展开
-
Java设计模式1:设计模式概论
设计模式是什么设计模式(Design pattern)是一套被反复使用、多数人知晓的、经过分类编目的、代码设计经验的总结。使用设计模式是为了可重用代码、让代码更容易地被他人理解、保证代码可靠性。毫无疑问,设计模式于己于人于系统都是多赢的,设计模式使代码编制真正工程化,设计模式是软件工程的基石脉络,如同大厦的结构一样。总体来说,设计模式分为3大类总共23种:1、创建型模式,共转载 2017-01-03 12:03:36 · 291 阅读 · 0 评论 -
Java设计模式11:外观模式
外观模式外观模式是对象的结构模式,外部与一个子系统的通信必须通过一个统一的外观对象进行。外观模式是一个高层次的接口,使得子系统更易于使用。 医院的例子现代的软件系统都是比较复杂的。假如把医院比作一个子系统,按照部门职能,这个系统划分为挂号、门诊、划价、化验、收费、取药等。看病的人要与这些部门打交道,就如同一个子系统的客户端与一个子系统的各个类打交道一样,不是一件容易转载 2017-01-03 12:10:38 · 224 阅读 · 0 评论 -
Java设计模式10:观察者模式
观察者模式观察者模式也叫作发布-订阅模式,也就是事件监听机制。观察者模式定义了一种一对多的依赖关系,让多个观察者对象同时监听某一个主题对象,这个主题对象在状态上发生变化时,会通知所有观察者对象,使他们能够自动更新自己。 观察者模式的结构一个软件系统常常要求在某一个对象状态发生变化时,某些其他的对象作出相应的改变。能做到这一点的设计方案有很多,但是为了使系统能够易于复转载 2017-01-03 12:10:01 · 257 阅读 · 0 评论 -
Java设计模式9:代理模式
代理模式代理模式的定义很简单:给某一对象提供一个代理对象,并由代理对象控制对原对象的引用。 代理模式的结构有些情况下,一个客户不想活着不能够直接引用一个对象,可以通过代理对象在客户端和目标对象之间起到中介作用。代理模式中的角色有:1、抽象对象角色声明了目标对象和代理对象的共同接口,这样一来在任何可以使用目标对象的地方都可以使用代理对象2、目标转载 2017-01-03 12:09:12 · 279 阅读 · 0 评论 -
Java设计模式8:迭代器模式
迭代器模式迭代器模式又叫做游标(Cursor)模式,其作用是提供一种方法访问一个容器元素中的各个对象,而又不暴露该对象的内部细节。 迭代器模式结构迭代器模式由以下角色组成:1、迭代器角色负责定义访问和遍历元素的接口2、具体迭代器角色实现迭代器接口,并要记录遍历中的当前位置3、容器角色负责提供创建具体迭代器角色的接口转载 2017-01-03 12:07:57 · 268 阅读 · 0 评论 -
Java设计模式7:适配器模式
适配器模式适配器模式说的是,可以把一个类的接口变换成客户端所期待的另一种接口,使得原本因接口不匹配而无法在一起工作的两个类可以一起工作。 适配器模式的用途适配器模式的用途,在网上找了一幅图,挺形象的:比方说我有一个台灯,其插头是标准的两相的交流电插头,即阳极、阴极。我旅游到了一个地方想用自己的台灯,但发现旅馆里面只有三相的插头,即在阳极、阴极的基础上转载 2017-01-03 12:07:19 · 268 阅读 · 0 评论 -
Java设计模式6:策略模式
策略模式策略模式的用意是针对一组算法,将每一个算法封装到具有共同接口的独立类中,从而使得它们可以相互替换。策略模式使得算法可以在不影响到客户端的情况下发生变化。 策略模式的结构策略模式是对算法的包装,是把使用算法的责任和算法本身分开。策略模式通常是把一系列的算法包装到一系列的策略类里面,作为一个抽象策略类的子类。策略模式涉及到三个角色:1、环境角色转载 2017-01-03 12:06:45 · 263 阅读 · 0 评论 -
Java设计模式5:原型模式
原型模式原型模式属于对象的创建模式,通过给出一个原型对象来指明所有创建的对象的类型,然后用复制这个原型对象的办法创建出更多同类型的对象,这就是原型模式的用意。 原型模式结构原型模式要求对象实现一个可以克隆机身的接口(关于克隆,请参考Cloneable接口和Object的clone()方法),这样就可以通过复制一个实例对象本身来创建一个新的实例。这样一来,通过原型实例转载 2017-01-03 12:06:06 · 281 阅读 · 0 评论 -
Java设计模式4:单例模式
前言非常重要,单例模式是各个Java项目中必不可少的一种设计模式。本文的关注点将重点放在单例模式的写法以及每种写法的线程安全性上。所谓"线程安全性"的意思就是保证在创建单例对象的时候不存在竞争,只会创建出一个单例对象。 单例模式作为对象的创建模式,单例模式确保其某一个类只有一个实例,而且自行实例化并向整个系统提供这个实例,这个类称为单例类。单例模式有以下特点:转载 2017-01-03 12:05:22 · 274 阅读 · 0 评论 -
Java设计模式3:工厂方法模式
工厂方法模式工厂方法模式是类的创建模式。工厂方法模式的用意是定义一个创建产品对象的工厂接口,将实际创建工厂推迟到子类中。 工厂方法模式工厂方法模式是对简单工厂模式进一步抽象的结果。假如是不使用反射的工厂方法模式,那么所有的if...else if...else都放在工厂类中,势必造成工厂类的无限臃肿这时候就需要工厂方法模式来处理这个问题了。工转载 2017-01-03 12:04:45 · 217 阅读 · 0 评论 -
Java设计模式2:简单工厂模式
简单工厂模式简单工厂模式是类的创建模式,又叫做静态工厂方法模式。简单工厂模式由一个工厂对象决定生产出哪一种产品类的实例。 为什么要使用简单工厂模式原因很简单:解耦。A对象如果要调用B对象,最简单的做法就是直接new一个B出来。这么做有一个问题,假如C类和B类实现了同一个接口/继承自同一个类,系统需要把B类修改成C类,程序不得不重写A类代码。如果程序中有100转载 2017-01-03 12:04:09 · 307 阅读 · 0 评论 -
Java设计模式12:装饰器模式
装饰器模式装饰器模式又称为包装(Wrapper)模式。装饰器模式以多客户端透明的方式扩展对象的功能,是继承关系的一个替代方案。 装饰器模式的结构通常给对象添加功能,要么直接修改对象添加相应的功能,要么派生子类来扩展,抑或是使用对象组合的方式。显然,直接修改对应的类的方式并不可取,在面向对象的设计中,我们应该尽量使用组合对象而不是继承对象来扩展和复用功能,装饰器模式就转载 2017-01-03 12:11:16 · 428 阅读 · 0 评论