概要:
简单工厂模式又称静态工厂模式。从命名上就可以看出这个模式很简单:定义一个用于创建对象的接口。
简单工厂模式由工厂类角色、抽象产品角色和具体产品角色组成。
工厂类角色是本模式的核心,含有一定的商业逻辑和判断逻辑,它往往由一个具体类实现。
抽象产品角色一般是具体产品继承的父类或者实现的接口,由接口或者抽象类来实现。
具体产品角色由一个具体类实现
package
net.xsoftlab.baike;
interface
Car {
// 车的父类
public
void
driver();
// 开车
}
class
Benz
implements
Car {
// 奔驰车
public
void
driver() {
System.out.println(
"今天咱开奔驰!"
);
}
}
class
Bike
implements
Car {
// 自行车
public
void
driver() {
System.out.println(
"唉,现在经济危机,只能骑自行车了呀!"
);
}
}
class
Bmw
implements
Car {
// 宝马
public
void
driver() {
System.out.println(
"今天开宝马吧!"
);
}
}
class
Driver {
// 车的工厂
public
static
Car driverCar(String s)
throws
Exception {
if
(s.equalsIgnoreCase(
"Benz"
)) {
// 判断传入参数返回不同的实现类
return
new
Benz();
}
else
if
(s.equalsIgnoreCase(
"Bmw"
)) {
return
new
Bmw();
}
else
if
(s.equalsIgnoreCase(
"Bike"
)) {
return
new
Bike();
}
else
{
throw
new
Exception();
// 抛出异常
}
}
}
public
class
TextSimpleFactory {
// 操作工厂模式的类
public
static
void
main(String[] args) {
// java程序主入口处
try
{
Car car = Driver.driverCar(
"Bike"
);
// 调用方法返回车的实例
System.out.println(
"经理,今天开什么车呀?"
);
car.driver();
// 调用方法开车
}
catch
(Exception e) {
// 捕获异常
System.out.println(
"开车出现问题......"
);
}
finally
{
// 代码总被执行
System.out.println(
"......"
);
}
}
}
|