
设计模式
「已注销」
这个作者很懒,什么都没留下…
展开
-
设计模式--装饰者模式
装饰器的价值在于装饰,他并不影响被装饰类本身的核心功能。个人理解是在已完成的某个方法上可以再进行其他的操作,但不影响那个被装饰的方法。 实例: 有一个logger的接口,接口中有一个方法log,是打印日志的内容,有两个类分别实现了这个接口,一个是到本地,一个是到云端,或者假设可能输出到很多地方,如果我们需要在log方法前或者后进行其他操作,比如打印时间,或者其他操作,笨方法就是一个个的在每一个...原创 2019-04-28 14:29:11 · 175 阅读 · 0 评论 -
设计模式--动态代理模式
代理设计模式分为静态代理,jdk动态代理和cglib动态代理。 静态代理就是有明确存在的代理类,因其不易维护等缺点明显,所以不常用; jdk动态代理原理是java的反射机制,缺点是被代理的对象必须实现接口; cglib动态代理原理是asm字节码技术。比jdk动态代理应用广泛,推荐学习使用。 jdk动态代理: UserDao接口类: /** * mybatis dao层 * ...原创 2019-04-29 17:23:04 · 143 阅读 · 0 评论 -
设计模式--动态代理和装饰者设计模式的区别理解
从结构和写法上来讲,两种设计模式非常相似,怎么理解他们的区别呢? 装饰者模式,基本上没有争议,就是为了给装饰者的方法增强,单纯的是为了在装饰者方法上增加其他功能。 动态代理模式也可以在被代理的方法上增加功能,也就是在功能上都可以实现,但是代理设计模式有他的不同,被代理的对象难以直接获得或者是不想暴露给客户端,而装饰者模式是继承的一种替代方案,就是说代理设计模式可以理解为没有办法或者没有权限直接...原创 2019-04-29 17:56:34 · 1356 阅读 · 0 评论