学习、梳理设计模式。
工厂模式
工厂方法模式
根据不同的对象,提供不同的工厂,然后由客户端来选择对应的工厂。这也是与简单工厂模式的不同的地方。
人 接口
public interface People {
void speek();
}
男孩
public class Boy implements People {
@Override
public void speek() {
System.out.println("boy");
}
}
女孩
public class Girl implements People {
@Override
public void speek() {
System.out.println("girl");
}
}
人 工厂
public interface PeopleFactory {
People getPeople();
}
男孩 工厂
public class BoyFactory implements PeopleFactory {
@Override
public People getPeople() {
return new Boy();
}
}
女孩 工厂
public class GirlFactory implements PeopleFactory {
@Override
public People getPeople() {
return new Girl();
}
}
客户端
public class Client {
public static void main(String[] args) {
PeopleFactory pf = new BoyFactory();
pf.getPeople().speek();
PeopleFactory pf1 = new GirlFactory();
pf1.getPeople().speek();
}
}
输出
boy
girl