JAVA设计模式(二)-简单工厂
本篇文章主要讲下java 创建型设计模式中的简单工厂模式.
简单工厂模式又叫 静态工厂方法模式(Static FactoryMethod Pattern),是通过专门定义一个类来负责创建其他类的实例,被创建的实例通常都具有共同的父类。
1:定义接口
public interface People{
void name();
}
2: 实现类
public class Man implements People {
@Override
public void name() {
System.out.println("name: man");
}
}
public class Woman implements People{
@Override
public void name() {
System.out.println("name: Woman");
}
}
3: 构建工厂
public class PeopleFactory {
public People getPeople(int gender){
if (gender==0){
return new Man();
}else{
return new Woman();
}
}
public static void main(String[] args) {
PeopleFactory peopleFactory = new PeopleFactory();
People people = peopleFactory.getPeople(0);
people.name();
People people1 = peopleFactory.getPeople(1);
people1.name();
}
}
优缺点:
- 能够从具体的产品类中解耦
- 可以运行时动态创建对象,可以不必关心对象的实例化过程
- 扩展性差,每次新增产品都需要修改工厂的代码
- 只能创建实现相同接口的类