学习、梳理设计模式。
工厂模式
工厂方法模式
根据不同的对象,提供不同的工厂,然后由客户端来选择对应的工厂。这也是与简单工厂模式的不同的地方。
人 接口
代码语言:javascript复制public interface People {
void speek();
}
男孩
代码语言:javascript复制public class Boy implements People {
@Override
public void speek() {
System.out.println("boy");
}
}
女孩
代码语言:javascript复制public class Girl implements People {
@Override
public void speek() {
System.out.println("girl");
}
}
人 工厂
代码语言:javascript复制public interface PeopleFactory {
People getPeople();
}
男孩 工厂
代码语言:javascript复制public class BoyFactory implements PeopleFactory {
@Override
public People getPeople() {
return new Boy();
}
}
女孩 工厂
代码语言:javascript复制public class GirlFactory implements PeopleFactory {
@Override
public People getPeople() {
return new Girl();
}
}
客户端
代码语言:javascript复制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