Java设计模式系列教程(一)工厂模式factory
今天和大家一起学习Java的设计模式。本人的水平不是很高,这系列文章只是自己学习的过程,并希望能同大家分享经验。
先说下我对工厂模式的理解:当我们需要某个对象时,最直接的办法是看到这个对象就拿过来。但是当对象非常多的时候,找起来就很不方便。这时就需要一个中介来帮助我们取得想要的东西,这个中介就是工厂(factory)。
工厂模式可分为三个分类(简单工厂模式Simple Factory、 工厂方法模式Factory Method、 抽象工厂模式Abstract Factory)
我来模拟一个场景:动物园管理员每天都要确保动物的健康,确定动物健康的一种简单方法就是听一听动物的叫声是不是正常。这样,管理员就需要随时找到任一种动物以确定动物的情况。下面是动物相关类(至于动物园为什么有猫和狗大家就不要太计较了……):
interface:Animal(动物的接口)
package com.captain.factory;
/**
* <P>Title:动物接口<p>
* @author 船长工作室
*/
public interface Animal {
void call();
}
class:Cat(猫)
package com.captain.factory;
/**
* <p>Title:猫<p>
* @author 船长工作室
*/
public class Cat implements Animal {
/**
* 猫叫
* @param 无
* @return void
*/
public void call() {
System.out.print("meow");
}
}
class:Dog(狗)
package com.captain.factory;
/**
* <p>Title:狗<p>
* @author 船长工作室
*/
public class Dog implements Animal {
/**
* 狗叫
* @param 无
* @return void
*/
public void call() {
System.out.print("bark");
}
}
class:Tiger(老虎)
package com.captain.factory;
/**
* <p>Title:老虎<p>
* @author 船长工作室
*/
public class Tiger implements Animal {
/**
* 老虎叫
* @param 无
* @return void
*/
public void call() {
System.out.print("roar");
}
}
下面先介绍简单工厂模式:
class:SimpleFactory(简单工厂)
package com.captain.factory;
/**
* <p>Title:简单工厂模式-工厂类<p>
* @author 船长工作室
*/
public class SimpleFactory {
/**
* 召唤动物
* @param s 召唤动物的种类
* @return animal 该种类的动物实例
*/
public static Animal search(String s){
相关文档:
这个程序非常的简单,主要是用来截取文本中想要的内容,或者删除部分内容。
////////////////////////////////////////////////////////////////////////////
执行SQL语句:
CREATE TABLE ***(
ssf_guid VARCHAR(32)   ......
许多程序设计语言都有自己的办法告诉编译器某个数据是“常数”。常数主要应用于下述两个方面:
(1) 编译期常数,它永远不会改变
(2) 在运行期初始化的一个值,我们不希望它发生变化
对
于编译期的常数,编译器(程序)可将常数值“封装”到需要的计算过程里。也就是说,计算可在编译期间提前执行, ......
对象只能存在于内存中 ,而内存中不能永久保存数据。如果要永久保存对象的状态,需要进行对象的持久化,即把对象存储到专门的数据存储库中 目前,关系数据库冉冉是使用最广泛的数据存储库。关系数据库中存放的是关系数据,它是非面向对象的。
持久化是将Java虚拟机对象持久保存,而不是将数据库映射为对象,通常数据的存储 ......
java的路径让许多人,特别是初学者感到迷惑,我这里再解释一下。我们分2个阶段,1是编译阶段,2是运行阶段。
一、编译阶段
这个时候,我们要提供给编译器的有2个路径参数,第一个是源代码在哪里?也就是 sourcepath,第二个就是依赖的类在哪里?也就是 classpath
我们看一个例子
d:\temp\TestCP\d1\p1\Clas ......
transient是Java语言的关键字,用来表示一个域不是该对象串行化的一部分。当一个对象被串行化的时候,transient型变量的值不包括在串行化的表示中,然而非transient型的变量是被包括进去的!
public class User implements Serializable{
private static final long serialVersionUID = 1L;
private Integer id;
......