工厂模式主要有四个角色。
1.工厂使用者(Client):使用工厂类创建相应产品。
2.工厂(Factory):通过接收对应的型号(type)去创建对应的产品(Product)
3.产品(Product):接口,定义了这种类型的产品具有的相同特性。
4.具体产品(Specific Product):具体产品类,实现产品接口共有特性的不同值和特有属性。
下面图表有些问题,Product接口定义的内容有误。。。具体看实现代码吧。。
public
class
Client {
/**
*
@param
args
*/
public
static
void
main(String[] args) {
//
TODO
Auto-generated method stub
Factory factory =
new
Factory();
factory.createProduct(1).showAttributes();
factory.createProduct(2).showAttributes();
}
}
public
class
Factory {
public
Product createProduct(
int
type) {
Product product =
null
;
if
(type == 1) {
product =
new
SpecificProduct1(
"产品1特有属性"
);
}
else
if
(type == 2) {
product =
new
SpecificProduct2(
"产品2特有属性"
);
}
return
product;
}
}
public
interface
Product {
void
showAttributes();
}
public
class
SpecificProduct1
implements
Product {
private
String
attributes
;
public
SpecificProduct1(String attributes) {
this
.
attributes
= attributes;
}
@Override
public
void
showAttributes() {
//
TODO
Auto-generated method stub
System.
out
.println(
"产品1,属性:"
+
attributes
);
}
}
public
class
SpecificProduct2
implements
Product {
private
String
attributes
;
public
SpecificProduct2(String attributes) {
this
.
attributes
= attributes;
}
@Override
public
void
showAttributes() {
//
TODO
Auto-generated method stub
System.
out
.println(
"产品2,属性:"
+
attributes
);
}
}