一.组合模式简介 把整体和部分的关系用树形结构表示,从而可以统一处理。 二.组合模式实现细节 1)抽象构建:定义叶子和容器的共同特点。 2)叶子:没有子节点 3)容器:有容器的特征,可以包含子节点(一般实现的时候在这里添加容器存放子节点) 三.简单代码实现 四.应用场景 1)操作系统的资源管理器 2 ...
分类:
编程语言 时间:
2016-03-27 23:47:59
阅读次数:
254
1、饿汉式实现(单例对象立即加载) 例1: 小结: 如果只是加载本类,而不是要调用getInstance(),甚至永远没用调用,则会造成资源浪费 2、懒汉式实现(单例对象延迟加载) 例2: 小结: 3、双重检测锁实现 例3: 小结: 4、静态内部类实现方式(也是一种懒加载方式) 例4: 小结: 5、
分类:
其他好文 时间:
2016-03-20 14:38:36
阅读次数:
207
一.适配器模式简介 java中一个类想要使用与自己毫不相干的另一个对象时,最简单的方法是使用适配器模式。 下面是简单代码实现: 这里就好比电脑想使用鼠标就需要usb或者ps/2接口将二者链接,这里的适配器就起到一个连接的作用。
分类:
编程语言 时间:
2016-03-18 21:53:59
阅读次数:
243
一.原型模式介绍 因为java中new一个新对象比clone一个对象需要花费等多的资源,所以一般需要 在短时间内创建大量对象并且new对象的过程需要耗费比较多的资源使用原型模式。 想要clone一个类需要这个类实现Cloneable接口,重载clone方法,这个接口在底层 通过内存拷贝实现clone
分类:
编程语言 时间:
2016-03-18 21:51:17
阅读次数:
311
简单工厂模式(Simple Factory Pattern)介绍:简单工厂模式不能说是一个设计模式,说它是一种编程习惯可能更恰当些。因为它至少不是Gof23种设计模式之一。但它在实际的编程中经常被用到,而且思想也非常简单,可以说是工厂方法模式的一个引导,所以我想有必要把它作为第一个讲一下。引入:我们
分类:
编程语言 时间:
2016-03-05 14:36:35
阅读次数:
174
本节内容
引入立即加载实例分析
1.一对多关系实例2.多对多关系实例
结语
引入
通过上一篇的介绍,我们知道了NHibernate中默认的加载机制——延迟加载。其本质就是使用GoF23中代理模式实现,这节我们简单分析NHibernate另一种加载机制——立即加载。我用一张图片形象的展现立即加载机制。
立即加载
顾名思义,就是立刻加载相关联对象集合,与延...
分类:
Web程序 时间:
2015-08-15 07:56:43
阅读次数:
170
改进
这也可以运用GoF23中的观察者模式,让多个观察者对象(对象创建、修改)同时监听某一个主题对象(这里就是数据访问对象Customer)。这个主题对象Customer在状态发生变化时,会通知所有观察者对象(对象创建、修改),使它们能够自动更新自己,就可以实现监视Customer的一举一动了。
我们来实现这个功能,先看看这篇完成的整体架构。
数据访问层
1.数据访...
分类:
数据库 时间:
2015-08-10 10:45:27
阅读次数:
263
改进
这可以考虑到GoF23中的外观模式(Facade),为子系统中的一组接口提供一个一致的界面,此模式定义了一个高层接口,这个接口使得这一子系统更加容易使用。
考虑在数据访问层中建立外观Facade,这样可以为复杂的数据访问方法提供一个简单的类,使得耦合大大降低。增加外观Facade可以只向客户提供一个简单的接口,减少客户与数据访问层之间的依赖,更容易维护和扩展了。
数据访问层...
分类:
数据库 时间:
2015-08-10 10:44:54
阅读次数:
182