设计模式
送人玫瑰手留余香
这个作者很懒,什么都没留下…
展开
-
(创建型模式一)单例模式
package com.eyugame.modle;/** * 饿汉式单利模式 * @author JYC506 * */public class Single { private static Single single=new Single(); public Single getInstance(){ return single;原创 2015-04-24 20:53:38 · 792 阅读 · 0 评论 -
(结构型模式一)适配器模式
package com.eyugame.modle;/** * 适配器模式 * @author JYC506 * *//*比如A接口吃饭方式想跟B一样,但不需要其他方法比如:洗澡,上课啊, 所以找来C类,Ca类有A类的特征,又继承B类,A类说我吃饭就按C类吃饭的方法也就是按B类的具体方法吃饭*//*类的适配器模式*/public class Adapter extends Sou原创 2015-04-27 21:40:48 · 586 阅读 · 0 评论 -
(结构型模式二)装饰模式
package com.eyugame.modle;/** * 装饰模式 * @author JYC506 * *//*装饰者*/public class Decorator implements IReceiver{ /*被装饰的对象*/ private IReceiver receiver; public Decorator(IReceiver receiver) {原创 2015-04-27 22:00:47 · 849 阅读 · 0 评论 -
(行为型模式九)备忘录模式
package com.eyugame.modle;import java.beans.BeanInfo;import java.beans.Introspector;import java.beans.PropertyDescriptor;import java.lang.reflect.Method;import java.util.HashMap;import java.uti原创 2015-04-27 20:18:24 · 723 阅读 · 0 评论 -
(结构性模式四)外观模式
package com.eyugame.modle;/** * 外观模式 * @author JYC506 * */public class Computer { private Cpu cpu; private Disk disk; public Computer() { super(); this.cpu = new Cpu(); this.disk = new原创 2015-04-28 11:41:02 · 961 阅读 · 0 评论 -
(结构型模式六)组合模式
package com.eyugame.modle;import java.util.Vector;/** * 组合模式 * * @author JYC506 * */public class Tree { private TreeNote root; public Tree(String name) { super(); this.root = new T原创 2015-04-28 14:55:52 · 709 阅读 · 0 评论 -
(结构型模式五)桥接模式
package com.eyugame.modle;/** * 桥接模式 * @author JYC506 * */public class MyBridge extends Bridge { @Override void show() { this.getSource().show(); } public static void main(String[] args)原创 2015-04-28 14:26:35 · 880 阅读 · 0 评论 -
(结构型模式三)代理模式
package com.eyugame.modle;/** * 代理模式 * @author JYC506 * */public class Proxy implements IFood{ private IFood apple; public Proxy() { super(); apple=new Apple(); } @Override public v原创 2015-04-28 11:27:31 · 1117 阅读 · 0 评论 -
(结构型模式七)享元模式
package com.eyugame.modle;import java.sql.Connection;import java.sql.DriverManager;import java.util.Vector;/** * 享元模式 * @author JYC506 * */public class ConnectionPool { private Vector poo原创 2015-04-28 16:34:48 · 536 阅读 · 0 评论 -
java回调简单实现
package data;import java.util.HashMap;import java.util.Map;public class Good { CallBack callBack; public void setCallBack(CallBack callBack) { this.callBack=callBack; }原创 2015-06-02 10:35:00 · 1356 阅读 · 2 评论 -
设计模式简单介绍
一、设计模式的分类总体来说设计模式分为三大类:创建型模式,共五种:工厂方法模式、抽象工厂模式、单例模式、建造者模式、原型模式。结构型模式,共七种:适配器模式、装饰器模式、代理模式、外观模式、桥接模式、组合模式、享元模式。行为型模式,共十一种:策略模式、模板方法模式、观察者模式、迭代子模式、责任链模式、命令模式、备忘录模式、状态模式、访问者模式、中介者模式、解释器模式。二、设计模原创 2015-06-05 16:59:21 · 999 阅读 · 0 评论 -
(行为型模式八)迭代器模式
package com.eyugame.modle;import java.util.ArrayList;import java.util.List;/** * 迭代器模式 * @author JYC506 * * @param *//*自定义迭代器*/public class MyIterator implements Iterator { private List原创 2015-04-27 14:56:33 · 587 阅读 · 0 评论 -
(行为型模式七)策略模式
package com.eyugame.modle;/** * 策略模式 * @author JYC506 * *//*策略一*/public class Strategy1 implements IStrategy{ @Override public void show() { System.out.println("使用策略1"); } public stati原创 2015-04-27 14:29:20 · 784 阅读 · 0 评论 -
(创建型模式二)工厂方法模式
package com.eyugame.modle;/** * 工厂模式 * @author JYC506 * */public class Factory implements IFactory { @Override public IProduct createProduct() { return new Product(); } }interface I原创 2015-04-24 21:05:29 · 839 阅读 · 0 评论 -
(创建型模式三)抽象工厂模式
package com.eyugame.modle;/** * 抽象工厂模式 * * @author JYC506 * */public class MyFactory implements IAbstractFactory { @Override public IProduct1 createIProduct1() { return new Product1();原创 2015-04-24 21:20:46 · 707 阅读 · 0 评论 -
(创建型模式四)创建者模式
package com.eyugame.modle;/** * 创建者模式 * * @author JYC506 * *//*导演者*/public class Director { IBuilder myBuilder=new MyBuilder(); public PhoneProduct createMiPhone() { myBuilder.setNameAn原创 2015-04-24 21:58:34 · 769 阅读 · 0 评论 -
(创建型模式五)原型模式
package com.eyugame.modle;/*原型类*/public abstract class Prototype implements Cloneable { private int x; private int y; /*复制*/ public Prototype clone() { Prototype prototype =原创 2015-04-24 22:16:52 · 753 阅读 · 0 评论 -
(行为型模式一)模板方法模式
package com.modle;import java.util.ArrayList;import java.util.BitSet;import java.util.List;/** * 模板方法模式 * @author k560 * */public abstract class AbstractMap { /* 获取重复的数字 */ protected abst原创 2015-04-26 11:41:26 · 778 阅读 · 1 评论 -
(行为型模式三)观察者模式
package com.modle;import java.util.Vector;import org.omg.CORBA.OBJECT_NOT_EXIST;/** * 观察者模式 * @author k560 * *//*观察者接口*/public interface Observer { /*观察到被观察者行为后执行的行为*/ void doSome();原创 2015-04-26 13:52:54 · 768 阅读 · 0 评论 -
(行为型模式二)中介者模式
package com.modle;/** * 中介者模式 * @author k560 * *//*需求:产品A要比产品B贵100块,当改A的价格,B的价格也要同步改动,反过来也一样*/public class Mediator extends AbstractMediator{ private AbstracProduct productA; private Abs原创 2015-04-26 13:24:00 · 658 阅读 · 0 评论 -
(行为型模式六)责任链模式
package com.eyugame.modle;/** * 责任链模式 * * @author JYC506 * *//* 事件接收者 */public abstract class EventReceiver { private EventReceiver nextEventReceiver; public void setNextHandler(EventRe原创 2015-04-27 11:53:20 · 790 阅读 · 0 评论 -
(行为型模式四)访问者模式
package com.eyugame.modle;/** * 访问者模式 * @author JYC506 * *//*访问者*/public class Visitor implements IVisitor{ @Override public void update(IPro o) { o.doSomeThing(); } public static void原创 2015-04-27 10:26:02 · 743 阅读 · 0 评论 -
(行为型模式五)命令模式
package com.eyugame.modle;/** * 命令模式 * @author JYC506 * */public class MyCommand implements ICommand{ private Receiver receiver; public MyCommand(Receiver receiver) { super(); this.rec原创 2015-04-27 10:47:09 · 682 阅读 · 0 评论 -
生产者消费者模式(吃包子例子)
生产者-消费者问题是一个经典的进程同步问 题,该问题最早由Dijkstra提出,用以演示他提出的信号量机制。在同一个进程地址空间内执行的两个线程生产者线程生产物品,然后将物品放置在一个空 缓冲区中供消费者线程消费。消费者线程从缓冲区中获得物品,然后释放缓冲区。当生产者线程生产物品时,如果没有空缓冲区可用,那么生产者线程必须等待消费 者线程释放出一个空缓冲区。当消费者线程消费物品时,如果没有满的原创 2015-06-08 21:36:36 · 3300 阅读 · 1 评论