FACTORY模式
类别: JSP教程
类型:创建式模式
目的:把创建实例的责任和使用实例的责任分开
描述:有个类的一个方法methodA()专门负责生成对象的实例,其他类调用此方法生成一个类的实例
例子
/***********************创建工厂************************/
package factory;
public class Factory {
public static Shape getInstance(String className) {
if (className.trim().equalsIgnoreCase("square")) {
return new Square();
}
else if (className.trim().equalsIgnoreCase("circle")) {
return new Circle();
}
return null;
}
}
/*********************要创建的实例**********************/
public interface Shape{
public String toString();
public void draw();
}
public class Square implements Shape{
public String toString(){
return "I am a Shape Of Square!";
}
public void draw(){
}
}
public class Circle implements Shape{
public String toString(){
return "I am a Shape Of Circle!";
}
public void draw(){
}
}
/********************调用****************************/
public class Test {
public static void main(String args[]){
Shape sha = Factory.getInstance("circle");
System.out.println(sha.toStrng());
}
}
目的:把创建实例的责任和使用实例的责任分开
描述:有个类的一个方法methodA()专门负责生成对象的实例,其他类调用此方法生成一个类的实例
例子
/***********************创建工厂************************/
package factory;
public class Factory {
public static Shape getInstance(String className) {
if (className.trim().equalsIgnoreCase("square")) {
return new Square();
}
else if (className.trim().equalsIgnoreCase("circle")) {
return new Circle();
}
return null;
}
}
/*********************要创建的实例**********************/
public interface Shape{
public String toString();
public void draw();
}
public class Square implements Shape{
public String toString(){
return "I am a Shape Of Square!";
}
public void draw(){
}
}
public class Circle implements Shape{
public String toString(){
return "I am a Shape Of Circle!";
}
public void draw(){
}
}
/********************调用****************************/
public class Test {
public static void main(String args[]){
Shape sha = Factory.getInstance("circle");
System.out.println(sha.toStrng());
}
}
- 上一篇: MVC-OBSERVER模式
- 下一篇: BUILDER(建造)模式
-= 资 源 教 程 =-
文 章 搜 索