设计模式
iteye_21104
这个作者很懒,什么都没留下…
展开
-
单例模式
[code="java"]package com.demo.singleton; public class Singleton { private static Singleton uniqueInstance; String str; private Singleton(){//构造器私有 str=Math.random()*10000+""; } publ...原创 2012-11-13 17:29:38 · 74 阅读 · 0 评论 -
生产者/消费者模式 阻塞队列 LinkedBlockingQueue
[参照多篇文章,加入我自己的理解,源码改动较大] 单单抽象出生产者和消费者,还够不上是生产者/消费者模式。该模式还需要有一个缓冲区处于生产者和消费者之间,作为一个中介。生产者把数据放入缓冲区,而消费者从缓冲区取出数据 ◇解耦 假设生产者和消费者分别是两个类。如果让生产者直接调用消费者的某个方法,那么生产者对于消费者就会产生依赖(也就是耦合)。将来如果消费者的代码发生变化,可...原创 2016-09-21 14:09:40 · 378 阅读 · 0 评论 -
外观模式
[color=red]【外观模式】为系统中的一组接口提供一个一致的界面,Facade模式定义一个高层接口,这个接口使得这一子系统更加容易使用。[/color] [code="java"]package com.demo.responsibility; //外观 public class ClientServerFacade { private CheckWord checkW...原创 2012-11-27 14:31:48 · 80 阅读 · 0 评论 -
抽象工厂模式
[color=red]【抽象工厂模式】提供一个创建一系列或相互依赖对象的接口,而无须指定它们具体的类。[/color] [code="java"]package com.demo.abstractFactory; public class BeijingClothesFactory extends ClothesFactory { @Override public Uppe...原创 2012-11-21 17:18:38 · 100 阅读 · 0 评论 -
生成器模式
[color=red]【生成器模式】将一个复杂对象的构建与它的表示分离,使同样的构建过程可以创建不同的表示。[/color] [code="java"]package com.demo.builder; import javax.swing.JPanel; //指挥者指挥创建各个组件 public class Director { private Builder bui...原创 2012-11-20 20:22:19 · 75 阅读 · 0 评论 -
代理模式
[color=red]【代理模式】为其他对象提供一种代理以控制对这个对象的访问[/color] [code="java"]package com.demo.proxy; public class Triangle implements Geometry { double a,b,c; public Triangle(double a,double b,double c){ ...原创 2012-11-19 19:07:06 · 84 阅读 · 0 评论 -
责任链模式
[color=red]【责任链模式】使多个对象都有机会处理请求,从而避免请求的发送者和接收者之间的耦合关系。将这些对象连成一条链,并沿着这条链传递该请求,直到有一个对象处理它为止。[/color] [code="java"]package com.demo.chain; import java.util.ArrayList; public class Beijing implem...原创 2012-11-19 18:01:24 · 104 阅读 · 0 评论 -
策略模式
[color=red]【策略模式】定义一系列算法,把他们一个个封装起来,并且使它们可相互替换。本模式使得算法可独立于使用它的客户而变化[/color] [code="java"]package com.demo.strategy; import java.util.Arrays; public class StrategyThree implements ComputableSt...原创 2012-11-19 16:50:36 · 73 阅读 · 0 评论 -
装饰者模式
[color=red]【装饰者模式】动态地给对象添加一些额外的职责。就功能来说装饰模式相比生成子类更为灵活。 [/color][code="java"]package com.demo.decorator; //具体装饰 public class SparrowDecorator extends Decorator { public final int DISTANCE=50...原创 2012-11-19 16:05:36 · 74 阅读 · 0 评论 -
观察者模式
[color=red]【观察者模式】定义对象间的一种一对多的依赖关系,当一个对象的状态发生变化时,所有依赖它的对象都得到通知并被自动更新[/color] [code="java"]package com.demo.observer; import java.util.ArrayList; //一个招聘中心的主题 public class SeekJobCenter implem...原创 2012-11-16 14:15:26 · 96 阅读 · 0 评论 -
命令模式
[color=red]【命令模式】将一个请求封装为一个对象,从而使用户可用不同的请求对客户进行参数化;对请求排队或记录请求日志,以及支持可撤销操作。[/color] [code="java"]package com.demo.command; //偷袭敌人命令 public class SneakAttackCommand implements Command { Compa...原创 2012-11-16 12:45:15 · 77 阅读 · 0 评论 -
享元模式
[color=red]【享元模式】运用共享技术有效地支持大量细粒度的对象[/color] [code="java"]package com.demo.flyweight; //享元接口 public interface Flyweight { public double getHeight(); public double getWidth(); public doubl...原创 2012-11-15 08:37:00 · 68 阅读 · 0 评论 -
log4j 配置文件
log4j.rootCategory=INFO,stdout,FILE,DATABASE log4j.appender.stdout=org.apache.log4j.ConsoleAppender log4j.appender.stdout.layout=org.apache.log4j.PatternLayout log4j.appender.stdout.layout.Conver...原创 2017-03-31 14:53:52 · 150 阅读 · 0 评论