GOF23
设计模式
沐风清寒
努力ing
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
JDK和CGLIB动态代理
JDK动态代理特点优点:jdk自带,不需导入jar包缺点:真实对象必须实现接口、利用反射效率不高实现步骤①创建处理器:需实现InvocationHandler接口,实现invoke方法(参数:代理对象,被代理方法,方法参数)需持有真实对象,在invoke中通过method.invoke进行调用被代理方法②生成代理对象:proxy.newProxyInstance()参数:反射...原创 2020-03-30 21:53:06 · 128 阅读 · 0 评论 -
GOF之行为型模式Ⅱ(重点)
解释器模式(Interpreter)用于描述如何构成一个简单的语言解释器,主要用于使用面向对象语言开发的编译器和解释器设计实例:EL表达式,正则表达式,SQL语法,数学表达式ps:尽量不要使用解释器模式,后期维护有很大麻烦。在项目中,可使用Jruby,Groovy,java的js引擎替代解释器的作用,弥补java的不足。访问者模式(Visitor)对于存储在一个集合中的对象,可能具有不...原创 2020-03-09 10:24:17 · 209 阅读 · 0 评论 -
GOF之行为型模式Ⅰ(重点)
责任链模式(chain of responsbility)职能:将能处理同一类请求的对象连接成一条线,所提交的请求沿链传递组件:Handler:抽象处理类,声明处理方法ConcreteHandler:具体处理类,判断权限,进行处理实例:java异常机制,Servlet中过滤器的链式处理,Struts2中拦截器的调用UML:迭代器模式(iterator(游标模式 cursor))职...原创 2020-03-08 09:48:44 · 187 阅读 · 0 评论 -
GOF之结构型模式Ⅱ(重点)
装饰器模式 (decorater(包装器模式 Wrapper))动态的为对象增加一个新的功能优点:使用对象的关联关系取代继承关系,降低系统的耦合度,避免类型体系的快速膨胀缺点:会产生很多小对象,大量小对象占用内存,在一定程度上影响性能组件:Component:抽象构件,真实对象和装饰对象所相同的接口ConcreteComponent:具体构件角色Decorator:装饰角色,持有一个...原创 2020-03-07 10:04:11 · 265 阅读 · 0 评论 -
GOF之结构型模式Ⅰ(重点)
适配器模式(adapter: Adaptee+Adapter(实现接口))将一个类的接口适配成用户所期待的,适配允许通常因为接口不兼容而不能在一起工作的类工作在一起类适配器(继承) 对象适配器(组合) 组合优于继承例:系统改造和升级;InputStreamReader与outpuStreamWriter(字节与字符转换)UML(对象适配器):代理模式(proxy :proxy(实...原创 2020-03-06 22:37:06 · 266 阅读 · 0 评论 -
GOF之创建型模式(重点)
单例设计模式作用:减少系统开销,优化资源共享访问UML:分类1)、饿汉式(不可延时加载) 可能造成资源浪费枚举型:天然的单例设计模式2)、懒汉式 (可延时加载)①double checking (synchronized,volatile(防止指令重排,同步数据)):受JVM底层机制影响,一般不使用 。②静态内部类式:类的加载是天然线程安全,加载一个类时,其内部类不会同时被加...原创 2020-03-06 20:23:23 · 259 阅读 · 0 评论
分享