简单工厂模式:
简单工厂模式是类的创建模式,又叫做静态工厂方法(Static Factory Method)模式。
我对简单工厂模式的理解是:客户只要提出产品的属性或者标准,提交给工厂,再由工厂创建对象,再分配到相应的部位进行加工。客户在不用创建对象的情况下就能了解到各个部门的职能。但简单工厂耦合性高,对于类较多时的情况是很麻烦的。
我自己通过篮球与足球的实例进行了练习。
定义一个操作接口
public interface Athlete {
public void job (String athlete);
}
定义具体的操作类
public class BasketballAthlete implements Athlete{
@Override
public void job(String name) {
System.out.println("恭喜你注册成功!" + "成为一名" + name);
}
}
public class FootballAthlete implements Athlete{
@Override
public void job(String name) {
System.out.println("恭喜你注册成功!" + "成为一名" + name);
}
}
定义简单的工厂类
public class AthleticAssociation {
public static Athlete logon(String name) {
Athlete newAthlete = null;
switch (name) {
case "前锋":
newAthlete = new BasketballAthlete();
newAthlete.job("前锋");
break;
case "中锋":
newAthlete = new BasketballAthlete();
newAthlete.job("中锋");
break;
case "中卫":
newAthlete = new FootballAthlete();
newAthlete.job("中卫");
break;
case "守门员":
newAthlete = new FootballAthlete();
newAthlete.job("守门员");
break;
}return newAthlete;
}
}
用户端
public class TestAthlete {
public static void main(String[] args) {
Athlete boy = AthleticAssociation.logon("前锋");
}
}
测试结果
恭喜你注册成功!成为一名前锋