美文网首页
设计模式笔试题解析(一)

设计模式笔试题解析(一)

作者: 黎明神话 | 来源:发表于2018-07-31 10:35 被阅读0次
程序设计:

猫大叫一声,所有的老鼠都开始逃跑,主人被惊醒。
要求:
(1) 要有联动性,老鼠和主人的行为是被动的;
(2) 考虑可扩展性,猫的叫声可能引起其他联动效应。

参考解答

本题可使用观察者模式,参考类图如下所示:

image.png
import java.util.*;

interface Subject    //抽象主题
{
    public void addObserver(Observer obs);
    public void cry();
}

interface Observer    //抽象观察者
{
    public void response();
}

class Cat implements Subject    //具体主题
{
    private ArrayList<Observer> list;

    public Cat() {
        list = new ArrayList<Observer>();
    }

    public void addObserver(Observer obs) {
        list.add(obs);
    }

    public void cry() {
        System.out.println("猫大叫一声!");
        for (Object obj : list) {
            ((Observer) obj).response();
        }
    }
}

class Mouse implements Observer    //具体观察者
{

    private String name;

    public Mouse(String name, Subject subject) {
        this.name = name;
        subject.addObserver(this);
    }

    public void response() {
        System.out.println(this.name + "拼命逃跑!");
    }
}

class Master implements Observer     //具体观察者
{
    private String name;

    public Master(String name, Subject subject) {
        this.name = name;
        subject.addObserver(this);
    }

    public void response() {

        System.out.println(this.name + "从美梦中惊醒!");
    }
}

class Client    //客户端测试类
{
    public static void main(String args[])
    {

        Subject cat = new Cat();
        Observer mouse1, mouse2, master;
        mouse1 = new Mouse("大老鼠", cat);
        mouse2 = new Mouse("小老鼠", cat);
        master = new Master("小龙女", cat);
        cat.cry();
    }
}

相关文章

  • 设计模式解析一 工厂模式的不同

    设计模式解析一 工厂模式的不同 设计模式解析二 结构模式三剑客 设计模式解析三 行为模式三剑客 设计模式解析四 模...

  • 设计模式解析二 结构模式三剑客

    设计模式解析一 工厂模式的不同 设计模式解析二 结构模式三剑客 设计模式解析三 行为模式三剑客 设计模式解析四 模...

  • 设计模式解析六 单例模式

    设计模式解析一 工厂模式的不同 设计模式解析二 结构模式三剑客 设计模式解析三 行为模式三剑客 设计模式解析四 模...

  • 设计模式解析三 行为模式三剑客

    设计模式解析一 工厂模式的不同 设计模式解析二 结构模式三剑客 设计模式解析三 行为模式三剑客 设计模式解析四 模...

  • 设计模式解析五 观察者模式和桥接模式

    设计模式解析一 工厂模式的不同 设计模式解析二 结构模式三剑客 设计模式解析三 行为模式三剑客 设计模式解析四 模...

  • 设计模式解析四 模板方法模式和外观模式

    设计模式解析一 工厂模式的不同 设计模式解析二 结构模式三剑客 设计模式解析三 行为模式三剑客 设计模式解析四 模...

  • 责任链模式

    Objective-C编程之道 iOS设计模式解析iOS设计模式解析-工厂模式iOS设计模式解析-抽象工厂模式iO...

  • 外观模式

    Objective-C编程之道 iOS设计模式解析iOS设计模式解析-工厂模式iOS设计模式解析-抽象工厂模式iO...

  • 工厂模式

    Objective-C编程之道 iOS设计模式解析iOS设计模式解析-工厂模式iOS设计模式解析-抽象工厂模式iO...

  • 抽象工厂模式

    Objective-C编程之道 iOS设计模式解析iOS设计模式解析-工厂模式iOS设计模式解析-抽象工厂模式iO...

网友评论

      本文标题:设计模式笔试题解析(一)

      本文链接:https://www.haomeiwen.com/subject/ezucvftx.html