java设计模式
设计模式(Design pattern)是一套被反复使用、多数人知晓的、经过分类编目的、代码设计经验的总结。使用设计模式是为了可重用代码、让代码更容易被他人理解、保证代码可靠性
褚金辉
java
展开
-
java设计模式之享元模式(11)
是结构型设计模式,其目的是为了减少大量的重复对象。java中String就是享元模式的。看下例子 package com.pattern.struct.flyweight;public class TestString { public static void main(String[] args) { String a = "abc"; String b = "abc原创 2014-08-20 13:30:40 · 1044 阅读 · 0 评论 -
java设计模式之桥梁模式(10)
java设计模式之桥梁模式(10)又叫桥连模式。桥梁模式是对象的结构模式,桥梁模式的用意是:将抽象化与实现化脱耦,使得二者可以独立地变化。接口就是抽象化,实现类就是实现化,把接口和实现类分开就是脱耦。说起来看似很简单,最重要的是它体现的面向对象的思想。java中的JDBC是最典型的桥梁模式。曾记得刚学JDBC的时候,老师总是告诉我说“我们使用JDBC桥连的方式连接数据库”当原创 2014-08-18 14:39:51 · 3070 阅读 · 0 评论 -
java设计模式之外观模式(9)
外观模式又叫门面模式。门面模式是对象的结构模式,外部与一个子系统的通信必须通过一个统一的门面对象进行。门面模式提供一个高层次的接口,使得子系统更易于使用。(注:这句话来自《java与模式》)。生活中的例子就是:婚庆一条龙服务。人家会从头到尾帮你解决结婚过程中遇到的事情,你只管给钱就行。包括拍摄婚纱照、找酒店、主持司仪等。我们可以把这些都看作是子系统,要完成结婚这个功能,需要跟子原创 2014-08-01 13:54:28 · 1035 阅读 · 0 评论 -
java设计模式之代理模式(8)
代理模式就是,不直接调用目标函数,而是通过一个代理类来调用。它的类继承关系和装饰模式很类似。但是它们的目的不一样。代理模式不会增加新的功能,只是在调用和被调用之间加入代理层。而装饰模式旨在增加新功能。看代码:package com.pattern.struct.proxy;public interface Subject { public void request();原创 2014-07-31 17:52:31 · 1029 阅读 · 0 评论 -
java设计模式之装饰模式(7)
属于结构型模式,装饰模式就是动态的给一个对象增加一些功能。要求装饰对象和被装饰对象实现同一个接口,装饰对象持有被装饰对象的实例。java的IO流的实现就是装饰模式。可以轻松的把一种流装饰成为另一种流。举个例子:计算牛奶的价格。 纯牛奶3.0元。加糖1.0元,加食用颜料2.0元。等等。我们需要根据顾客点的内容,动态的计算价格。下面看代码:原创 2014-07-30 10:36:51 · 1122 阅读 · 0 评论 -
java设计模式之适配器模式(6)
属于结构型模式。适配器这三个字在生活中很常见。举个最简单的例子,那就是变压器,它可以把几万伏的高压变成我们生活用电220伏。变压器就是一种适配器。适配器模式的作用就和生活中的适配器的作用是很相似的。总之就是将某个类的接口转换成客户端期望的另一个接口表示。属于结构型模式主要分为三类:类的适配器模式、对象的适配器模式、接口的适配器模式类的适配器模式:比如我们游戏中有一个马的类H原创 2014-07-29 13:46:07 · 1106 阅读 · 0 评论 -
java设计模式之原型模式(5)
原型模式也是一种创建型模式,只不过他创建的对象不是通过new来创建的,而是通过克隆来实现。为什么要通过克隆而不是new呢?举个例子:比如一个对象的创建需要读取本地文件(Excel)中的信息,而且需要读很多个excel的信息才能创建成功。这时候创建一个对象的成本是很高的。如果每次都new的话是行不通的。这时候原型模式就派上用场了。我们不重新new一个对象,而是通过之前的对象进行克隆一个。原创 2014-07-28 13:56:46 · 1233 阅读 · 1 评论 -
java设计模式之三句话记住23种设计模式(4)
1:创建型模式:弹弓原件(单例,工厂,原型,建造)2:结构型模式:外援组 佩戴桥石(外观,享元,组合,适配,代理,桥连,装饰)3:行为型模式:爹责令房中介装备观测板(迭代,责任链,命令,访问者,中介者,解释器,状态,备忘录,观察者,策略,模板)原创 2014-07-25 17:28:12 · 2101 阅读 · 2 评论 -
java设计模式之建造者模式(3)
建造者模式:属于创建型模式,和之前的工厂模式很相似。两者相比的话,建造者模式创建的对象是复杂的对象,而工厂模式创建的都是简单的单一对象。 建造者模式就像一个 流水线,会把各种零件按照一定的顺序组装成一个完整的对象。 比如:一个简单的电脑,由主板,cpu和显示器组成, 而且组装一个电脑我们必须按照先装主板,然后装上CPU,最后装上显示器 这个步骤。这时我们就原创 2014-07-25 09:44:17 · 1205 阅读 · 1 评论 -
java设计模式之工厂模式(2)
工厂模式:属于创建型模式。同我们生活中的厂家很相似。我们并不自己制造(new)产品,而是依靠厂家制造,我们只是拿来使用。简单的说就是让工厂 根据我们的需求给我们new一个对象。 工厂模式又分为工厂方法模式和抽象工厂模式。 工厂方法模式又分为:普通工厂方法,静态工厂方法.原创 2014-07-24 18:21:54 · 1164 阅读 · 1 评论 -
java设计模式之单例模式(1)
单例模式:属于创建型模式。项目中只存在某个类的一个对象,而且只可能存在一个对象。那么我们说这个类是单例模式,也叫单态模式。单例模式分为两种 :懒汉式 和 饿汉式。饿汉式原创 2014-07-23 15:30:55 · 1119 阅读 · 1 评论 -
java设计模式(0)
总体来说设计模式分为三大类:创建型模式、结构型模式和行为型模式。创建型模式:工厂方法模式、抽象工厂模式、单例模式、建造者模式、原型模式。结构型模式:适配器模式、装饰器模式、代理模式、外观模式、桥接模式、组合模式、享元模式。行为型模式:策略模式、模板方法模式、观察者模式、迭代子模式、责任链模式、命令模式、备忘录模式、状态模式、访问者模式、中介者模式、解释器模式。原创 2014-07-23 15:18:15 · 984 阅读 · 0 评论