代码改变世界

simple Factory

2009-06-26 18:33  Peter Yao  阅读(304)  评论(1编辑  收藏  举报

下面咱们继续第二种设计模式:简单工厂设计模式,相对于抽象工厂,这个设计模式应该相对比较简单点,所以大家不必觉得难懂!

 

Product
public interface Work {

    void doWork();
}

ConcreteProduct
public class StudentWork implements Work {

    public void doWork() {
        System.out.println("学生做作业!");
    }

}
public class TeacherWork implements Work {

    public void doWork() {
        System.out.println("老师审批作业!");
    }

}

Creator
public interface IWorkFactory {

    Work getWork();
}

ConcreteCreator
public class StudentWorkFactory implements IWorkFactory {

    public Work getWork() {
        return new StudentWork();
    }

}
public class TeacherWorkFactory implements IWorkFactory {

    public Work getWork() {
        return new TeacherWork();
    }

}

Test
public class Test {

    public static void main(String[] args) {
        IWorkFactory studentWorkFactory = new StudentWorkFactory();
        studentWorkFactory.getWork().doWork();
        
        IWorkFactory teacherWorkFactory = new TeacherWorkFactory();
        teacherWorkFactory.getWork().doWork();
    }

}

result
学生做作业!
老师审批作业!

 

 

 

看了这个设计模式,简单吧!

呵呵,有什么建议,多多留言!谢谢支持~