• <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>
    • 軟件測試技術
    • 軟件測試博客
    • 軟件測試視頻
    • 開源軟件測試技術
    • 軟件測試論壇
    • 軟件測試沙龍
    • 軟件測試資料下載
    • 軟件測試雜志
    • 軟件測試人才招聘
      暫時沒有公告

    字號: | 推薦給好友 上一篇 | 下一篇

    淺析設計模式之策略模式—:為什么總是繼承[3]

    發布: 2009-11-03 11:09 | 作者: 不詳 | 來源: 領測軟件測試網采編 | 查看: 12次 | 進入軟件測試論壇討論

    領測軟件測試網

    淺析設計模式之策略模式—:為什么總是繼承[3]軟件測試

    關鍵字:uml  二、 Strategy 策略接口,給算法族定義一個通用的接口,讓客戶以一種一致的方法去訪問。(I教務處報到,I繳費)

        三、 ConcreteStrategy 這就是具體的策略實現了,實現策略接口(各報到步驟的實現)。

        在我們的例子中報到的步驟就是算法族 比如“繳費”這個步驟,有多種繳費方式,我們將其封裝起來,客戶調用的時候并不需要了解你是怎么實現這個“繳費”的,這個過程對于客戶來說是透明的。這些不同的“繳費”步驟之間是可以無縫的替換,而客戶對此一點都不知覺。

        好了,既然解決方案提出來了,我們就來實現它吧 。

        首先我們定義所有的報到步驟的接口:

    public interface I教務處報到
    {
    void 教務處報到();
    }
    public interface I繳費
    {
    void 繳費();
    }
    public interface I本院系報到
    {
    void 本院系報到();
    }
    public interface I教材科發教材
    {
    void 教材科發教材();
    }


    下面我實現兩個教務處報到的步驟,其他的就當作課后作業了,呵呵。

    public class 教務處報到A : I教務處報到
    {
    public void 教務處報到()
    {
    Console.Write("教務處報到,A類實現");
    }
    }
    public class 教務處報到B : I教務處報到
    {
    public void 教務處報到()
    {
    MessageBox.Show("教務處報到,B類實現");
    }
    }


        再看看我們的高校類的實現吧:

    public class 高校
    {
    public 高校(I教務處報到 p教務處報到,I繳費 p繳費,I本院系報到 p本院系報到,I教材科發教材 p教材科發教材)
    {
    this._教務處報到 = p教務處報到;
    this._繳費 = p繳費;

    延伸閱讀

    文章來源于領測軟件測試網 http://www.kjueaiud.com/

    TAG: 繼承 模式 淺析 設計


    關于領測軟件測試網 | 領測軟件測試網合作伙伴 | 廣告服務 | 投稿指南 | 聯系我們 | 網站地圖 | 友情鏈接
    版權所有(C) 2003-2010 TestAge(領測軟件測試網)|領測國際科技(北京)有限公司|軟件測試工程師培訓網 All Rights Reserved
    北京市海淀區中關村南大街9號北京理工科技大廈1402室 京ICP備10010545號-5
    技術支持和業務聯系:info@testage.com.cn 電話:010-51297073

    軟件測試 | 領測國際ISTQBISTQB官網TMMiTMMi認證國際軟件測試工程師認證領測軟件測試網

    老湿亚洲永久精品ww47香蕉图片_日韩欧美中文字幕北美法律_国产AV永久无码天堂影院_久久婷婷综合色丁香五月

  • <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>