在线文档帮助系统(设计模式--职责链模式)

    题目描述:某公司欲开发一个软件系统的在线文档帮助系统,用户可以在任何一个查询环境中输入查询关键字,如果当前查询环境下没有相关内容,则系统会将查询按照一定的顺序转发给其他查询环境。

    实现截图:

                           在线文档帮助系统(设计模式--职责链模式)_第1张图片

 

 

 

 

    UML图:

                          在线文档帮助系统(设计模式--职责链模式)_第2张图片

  

SearchContext.java
package onlinedocument_chain_of_responsibility_4;

public abstract class SearchContext {
    protected SearchContext successor;
    public void setSuccessor(SearchContext successor) {
        this.successor = successor;
    }
    public abstract void search(String key);
}

 

SearchContext1.java

package onlinedocument_chain_of_responsibility_4;

public class SearchContext1 extends SearchContext {
    public void search(String key) {
        if(key == "key1")
            System.out.println("在ARCTIC Fox环境中查到相关内容");
        else if(this.successor != null)
            this.successor.search(key);
    }
}

SearchContext2.java

package onlinedocument_chain_of_responsibility_4;

public class SearchContext2 extends SearchContext {
    public void search(String key) {
        if(key == "key2")
            System.out.println("在PHOENIX环境中查到相关内容");
        else if(this.successor != null)
            this.successor.search(key);
        else System.out.println("未查到相关内容,转交到下一个查询环境");
    }
}

test.java

package onlinedocument_chain_of_responsibility_4;

public class shijian4_zaixianwendangbangzhu {
    public static void main(String[] args) {
        SearchContext s1, s2;
        s1 = new SearchContext1();
        s2 = new SearchContext2();
        s1.setSuccessor(s2);
        s1.search("key2");
        s1.search("key1");
        s1.search("g2");
    }
}

 

你可能感兴趣的:(在线文档帮助系统(设计模式--职责链模式))