随笔分类 - 设计模式
摘要:Builder Pattern 一个 Builder 类会一步一步构造最终的对象,该 Builder 类是独立于其他对象的 主要解决 有时候面临着"一个复杂对象"的创建工作,其通常由各个部分的子对象用一定的算法构成;由于需求的变化 这个复杂对象的各个部分经常面临着剧烈的变化,但是将它们组合在一起的算
阅读全文
摘要:Iterator迭代器 构建动态扩展的容器 List.add() 数组vs链表 插入 删除 随机访问 扩展
阅读全文
摘要:JDK动态代理执行过程 有了ASM之后,Java才可以称之为动态语言 java.lang.Instrument,完全控制二进制码 cglibrary即cglib 可以代理final
阅读全文
摘要:Flyweight 重复利用对象 String s1 = "abc"; String s2 = "abc"; String s3 = new String("abc"); String s4 = new String("abc"); System.out.println(s1 == s2);// t
阅读全文
摘要:Composite 组合模式 树状结构专用模式 abstract class Node{ abstract public void p(); } class leafNode extendx Node{ String content; public leafNode(String content){
阅读全文
摘要:观察者可以监听多个事件源 Spring的切面就是个观察者,耦合度非常低 钩子函数(Hook),callback,listener说的都是一回事
阅读全文
摘要:Facade 门面 对外,专业代办 Mediator 调停者 部门内部打交道,从内部抽出一个部门来,这个部门就是调停者 对内和对外可以是一个人,心中无剑,手中有剑 Decorator 装饰器 用聚合代替继承 责任链 ChainOfResponsibility 封装变化 public class Ma
阅读全文
摘要:工厂方法就是定制 public class car{ public void go(){ System.out.println("Car go"); } Car c = new car(); c.go(); } public class Plane(){ public void go(){ Syst
阅读全文
摘要:单例 Singleton 只需要一个实例,比如各种Mgr,各种Factory // 饿汉式 // 类加载到内存后, 实例化一个单例, JVM保证线程安全 public class Singleton{ private static final Singleton INSTANCE = new Sin
阅读全文