设计模式
张宏杰
这个作者很懒,什么都没留下…
展开
-
设计模式之装饰者模式
装饰者模式,就是动态的给一个对象添加一些职责,他比生成子类更为灵活。这个模式是非常重要的,在我们设计完系统之后,一定还会进行修改,给他添加功能,这时候装饰者模式的好处就不言而喻了。 装饰者模式的工作原理是,创建一个初始对象,然后一步一步的给他添加功能,或者属性。 举个例子:假如初始对象是一个空办公室为装饰对象,通过装饰者1,成为一个有两张办公桌的办公室,这样有两张办公桌的办公室就变成了新的装饰对象。然后这个对象在通过装饰者2 ,变成有电脑的,有办公桌的办公室。这样有电脑的,有原创 2013-12-10 21:56:42 · 2195 阅读 · 24 评论 -
设计模式之 代理模式
动机(Motivate): 在面向对象系统中,有些对象由于某种原因(比如对象创建的开销很大,或者某些操作需要安全控制,或者需要进程外的访问等),直接访问会给使用者、或者系统结构带来很多麻烦。如何在不失去透明操作对象的同时来管理/控制这些对象特有的复杂性?增加一层间接层是软件开发中常见的解决方式。原创 2013-12-03 17:39:31 · 1936 阅读 · 24 评论 -
简单工厂模式vs策略模式
最近刚刚开始学习设计模式,设计模式好像有二三十个吧,才学了最简单的两个我就已经学的云里雾里的了。 下边就给大家说一下我学习这两个设计模式的感受: 简单工厂模式: 所谓工厂就是生产东西的一个地方,他只知道生产什么类型的东西,比如说生产螺丝,但是工厂不知道生产什么型号的的螺丝。所以必须有一个文件下发给工厂,工厂才知道生产那种螺丝。下面给大家看一段代码: //定义抽象类 螺丝原创 2013-11-24 09:46:04 · 2943 阅读 · 28 评论 -
设计模式之工厂方法模式
上篇讲到装饰模式,下面这篇来讲一下设计模式当中非常重要的一个模式,工厂方法模式 讲工厂模式就不得不说一下简单工厂了,简单工厂就是定义一个工厂类,用来生产一些实例,而工厂模式的操作也是这样的,但是工厂方法模式,会将这个工厂继续进行细分,看一下下面的简单工厂与工厂方法模式的类图。原创 2013-12-18 20:59:32 · 2041 阅读 · 20 评论 -
Cglib的简单使用
上一篇博客我们介绍回到了如何在我们的代码中实现静态代理模式,和动态代理模式,以及这两种模式的好处与坏处! JDK自从1.3版本开始,就引入了动态代理,JDK的动态代理用起来非常简单,但是它有一个限制,就是使用动态代理的对象必须实现一个或多个接口。如果想代理没有实现接口的类可以使用CGLIB包。 CGLIB是一个强大的高性能的代码生成包。它被许多AOP的框架(例如Spring AOP原创 2015-05-11 21:17:35 · 5528 阅读 · 15 评论