设计模式,上课铃响,学生跑进教师,老师开始上课,用设计模式去实现。用设计模式实现,简单的思路,简单的代码

解决方案 »

  1.   

    标题上的100分哪里去了,只看到30分
    个人感觉可以用模板方法模式,因为每次上课都是这些步骤
    给你个模版方法的例子,你照着改一下
    http://download.csdn.net/detail/qq1145174853/5924331
      

  2.   

    public interface MonitorEvent {
    public void run();
    }
    public class Teacher implements  MonitorEvent{ @Override
    public void run() {
    System.out.println("上课,同心们好");

    }}public class Student implements  MonitorEvent{
    private MonitorEvent monitorEvent;
    public void setMonitorEvent(MonitorEvent monitorEvent) {
    this.monitorEvent = monitorEvent;
    }
    @Override
    public void run() {
    System.out.println("上课了");
    if(null!=monitorEvent){
    monitorEvent.run();
    }

    }}public class Bell {
    private MonitorEvent monitorEvent; public void setMonitorEvent(MonitorEvent monitorEvent) {
    this.monitorEvent = monitorEvent;
    }

    public void bellRang(){
    System.out.println("上课的铃声响了");
    if(null!=monitorEvent){
    monitorEvent.run();
    }

    }
    }
      

  3.   

    楼主也别纠结了,这里有23种设计模式,你去找找看哪种合适吧,楼上说的观察者模式,个人不敢苟同,这个东西也不是死,每个人都有自己的想法及看法
    http://download.csdn.net/user/qq1145174853/uploads/2
      

  4.   


    每个模式都有哎,好人 顶一个,我觉得观察者模式还是挺适合的,不过用state 应该会更清晰,根据铃声的state 来决定老师和学生的行为
      

  5.   


    每个模式都有哎,好人 顶一个,我觉得观察者模式还是挺适合的,不过用state 应该会更清晰,根据铃声的state 来决定老师和学生的行为
    这里应该是铃声通知老师、学生,而不是主动去抓取state控制老师和学生的行为