随笔分类 -  设计模式

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

点击右上角即可分享
微信分享提示
主题色彩