![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
设计模式
文章平均质量分 79
dai_
目前很懒
展开
-
工厂
工厂:简单,工厂,抽象 package designpattern; public class FactoryContext { public static void main(String[] args) { Service s1 = FactoryContext.getService(new Service1Factory()); s1.update1(); s1原创 2013-11-25 18:35:15 · 534 阅读 · 0 评论 -
责任链
Java Filter 与 责任链设计模式转载 2014-02-21 14:56:14 · 443 阅读 · 0 评论 -
Comparable&Comparator
Comparable Comparable 此接口强行对实现它的每个类的对象进行整体排序。这种排序被称为类的自然排序,类的 compareTo 方法被称为它的自然比较方法。对象本身就已经支持自比较所需要实现的接口(如 String、Integer 自己就可以完成比较大小操作)。 Comparator 如果一个类不能实现Comparable接口,那么我们自己可以提供Comparator的排转载 2014-01-13 17:24:34 · 707 阅读 · 0 评论 -
享元模式-AbstractMap结构
享元模式: 共享数据的模式。 例子:创建定制的Map-->FlyweightMap. 1. 默认填充DATA元数据,避免每次使用FlyweightMap时创建新的数据。 2. Map的数据结构 package designpattern.flyweight; import java.util.AbstractMap; import java.util.AbstractSet; i原创 2014-01-14 16:16:35 · 1324 阅读 · 0 评论 -
装饰器-decorator
在基类的基础上可封装一系列的功能,并动态组合调用顺序。 1. 基类: class Basic { private String value; public void set(String var) { value = var; } public String get() { return value; } } 2. 基础装饰类: clas原创 2014-01-11 15:19:29 · 887 阅读 · 0 评论 -
模板方法
模版方法:通过实现类扩展的方法来完成业务逻辑。 1. 创建实例的模板 package designpattern; public abstract class GenericWithCreate { final T element; GenericWithCreate() { element = create(); } abstract T create原创 2014-01-09 15:21:54 · 831 阅读 · 0 评论 -
动态代理
JDK的实现 1. 实现InvocationHandler接口 package reflect; import java.lang.reflect.InvocationHandler; import java.lang.reflect.Method; import java.lang.reflect.Proxy; public class DynamicProxyHandl原创 2013-12-23 09:58:00 · 869 阅读 · 0 评论 -
泛型(2)_适配器
1. 定义一个生成器接口: package generator; public interface Generator { T next(); } 2. 实现类,用于生成Fibonacci数列: package generator; public class Fibonacci implements Generator { private int count原创 2014-01-04 10:12:22 · 1154 阅读 · 0 评论 -
策略模式与外观模式
1.策略 :定义不同的算法族,并且之间可以互相替换;让算法的变化独立于使用算法的客户,以动态的改变对象的行为。 2. 例子:随机生成宠物,并统计各种宠物生成数量。 a) 抽象类:PetCreator,用于随机生成宠物。 package context; import java.util.ArrayList; import java.util.Collections; import原创 2013-12-17 11:05:41 · 1869 阅读 · 1 评论 -
容器类常用方法(4)_适配
1. Iterable接口: 实现这个接口允许对象成为 "foreach" 语句的目标;Collection实现了此接口 2. ArrayList实现了Iterable接口,提供了用foreach正向迭代的能力,现在需要增加一个反向迭代的能力,实现代码如下: a)用到了适配器模式 package context; import java.util.ArrayList; impo原创 2013-11-30 15:37:09 · 875 阅读 · 0 评论 -
迭代器与内部类
迭代器: package designpattern; import java.util.Arrays; public class IteratorContext { public static void main(String[] args) { MyList list = new MyList(3); list.add("ABC"); list.add("1原创 2013-11-25 11:50:52 · 919 阅读 · 0 评论 -
工厂(二)
使用匿名内部类,简化工厂方法 package com.yjq.factory; public class FactoryContext { public static void main(String[] args) { Service s1 = FactoryContext.getService(Service1.sf); s1.update1(); s1.update2();原创 2013-11-25 18:47:36 · 751 阅读 · 0 评论 -
命令模式
Java命令模式(Command模式)转载 2014-02-22 11:21:15 · 431 阅读 · 0 评论