文章目录
一、简单工厂模式(Simple Factory Pattern)
优点:
1).将对象的创建交给专门的工厂类负责,实现了对象的创建和对象的使用分离。
2).一个调用者想创建一个对象,只要知道其名称就可以了。
3).屏蔽产品的具体实现,调用者只关心产品的接口。
缺点:
1).工厂类不够灵活,增加新的具体产品需要修改工厂类的判断逻辑代码。违背开闭原则。
1.抽象类产品(Product)
它是工厂类所创建的所有对象的父类,封装了各种产品对象的公有方法,它的引入将提高系统的灵活性,使得在工厂类中只需定义一个通用的工厂方法,因为所有创建的具体产品对象都是其子类对象
public interface SimpleFactoryPatternInterface {
void Select() ;
}
2.具体产品(ConcreteProduct)
它是简单工厂模式的创建目标,所有被创建的对象都充当这个角色的某个具体类的实例。它要实现抽象产品中声明的抽象方法
//具体产品一
public class zhejiang implements SimpleFactoryPatternInterface{
public zhejiang() {
this.Select();
}
@Override
public void Select() {
// TODO Auto-generated method stub
System.out.println("住在浙江");
}
}
//具体产品二
public class chongqing implements SimpleFactoryPatternInterface{
public chongqing() {
this.Select();
}
@Override
public void Select() {
// TODO Auto-generated method stub
System.out.println("住在重庆");
}
}
3.工厂类(Factory)
简单工厂模式的核心部分,负责实现创建所有产品的内