05 2013 档案
摘要:概述 将复杂对象的构建与表示分离,使得同样的构建过程可以创建不同的表示。适用场景 1)构建一个复杂对象,该复杂对象内部往往有许多部件(域)待初始化; 2)通过不同的生成器,就可生成相应的复杂对象;结构 1)Product:即产品类。该类很复杂,它包含的域待初始化; 2)Builder:抽象Builder类。它需要指定Product对象中各部件的生成方法:buildPart(); 3)ConcreteBuilder:Builder类的一个实现。它包含一个待初始化的Product对象,通过对其组件进行初始化,并提供一个成型对象的方法; 4)Director:建造者。它包含一个抽象...
阅读全文
摘要:当创建对象时,直接使用构造器是最自然不过的事情,但不妨考虑一下静态工厂方法。注:区别于设计模式中的工厂方法,它只是一个静态的方法而已;设计模式中的工厂方法通常包括商品和工厂两个组件,没那么复杂。因为它可以为你带来以下构造器所不能提供的优势:1. 有名称 场景:构造器的命名都一致 当一个类需要提供多个构造器时,通常只是通过不同的入参加以区分,但其函数名还是相同的,无法提供较高的区分度。 这时,不妨考虑用静态工厂方法代替构造器,并且慎重地选择名称以便突出它们之间的区别。2. 不必在每一次创建时都提供新对象 场景:调用构造器时每次都创建新对象 这一点很显然,我们知道Singleton其实也...
阅读全文
摘要:Hibernate是当前最流行的ORM框架,ORM即Object/Relation Mapping, 对象关系数据库映射。ORM是一种规范:完成面向对象语言到关系数据库的映射。本文将演示一个最简单的demo,完成往数据库中添加记录的功能。准备工作:本文采用Hibernate 3.6.0版本,用到的jar包如下图:一个典型的Hibernate Demo应该包含一下三个文件: 1. PO,持久化对象。利用它可完成持久化操作。Hibearnate是低侵入式的设计,只需一个POJO(普通java对象)即可,无需继承任何父类和接口。 2. *.hbm.xml。POJO与数据库表之间的映射配置文件。 ..
阅读全文