首先:需要组合成一对需要找婚介所。
其次:婚介所需要有两种功能,找到男人和女人。
再次:男人可以有多个,女人也可以有多个,每个的属性不一样。
而后引入要组合成一对则引入了婚介所这个对象,这个对象返回了一个男人对象,一个女人对象,任何不同的属性。
结构是 婚介所
找男人 找女人
男人类 女人类
男人 女人
名 名
不同的男人和女人组合就成了不同的抽象工厂
方法工厂模式创建的是同一个产品族,如上就是要么都创建男人,要么都创建女人
代码事例如下:
package test;
public class CreatePeople {
public static void createHumans(CreateHuman ch){
System.out.println("create a new Persons ,heres name is "+ch.getNewMan().getMenName() +" and "
+ch.getNewWomen().getWomenName()
);
}
public static void main(String[] args) {
createHumans(new CreateFirstHuman());
}
}
interface CreateMen{
public String getMenName();
}
interface CreateWomen{
public String getWomenName();
}
class CreateNewMen implements CreateMen{
@Override
public String getMenName() {
return "yadang";
}
}
class CreateNewWomen implements CreateWomen{
@Override
public String getWomenName() {
return "xiawa";
}
}
interface CreateHuman{
public CreateMen getNewMan();
public CreateWomen getNewWomen();
}
class CreateFirstHuman implements CreateHuman{
@Override
public CreateMen getNewMan() {
return new CreateNewMen();
}
@Override
public CreateWomen getNewWomen() {
return new CreateNewWomen();
}
}