国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

訪問者模式(Visitor)

Bryan / 636人閱讀

摘要:訪問者模式一訪問者模式定義表示一個作用于某對象結構中的各元素操作它使你可以在不改變各元素類的前提下,定義作用于這些元素的新操作角色抽象訪問者對象具體訪問者對象抽象元素對象具體元素對象結構對象二具體實現創建抽象元素對象創建具體元素對象創建抽象

訪問者模式

一. 訪問者模式 1.1 定義

表示一個作用于某對象結構中的各元素操作.它使你可以在不改變各元素類的前提下,定義作用于這些元素的新操作.

1.2 角色

抽象訪問者對象(Visit).

具體訪問者對象(ConcreteVisit).

抽象元素對象(Element).

具體元素對象(ConcreteElement).

結構對象(ObjectStructure).

二. 具體實現 2.1 創建抽象元素對象
    public interface IElement {
        void accept(IVisitor visitor);
    }
2.2 創建具體元素對象
    public class ElementA implements IElement {
        @Override
        public void accept(IVisitor visitor) {
            visitor.visit(this);
        }
    }
    public class ElementB implements IElement {
        @Override
        public void accept(IVisitor visitor) {
            visitor.visit(this);
        }
    }
2.3 創建抽象訪問者對象
    public interface IVisitor {
        void visit(ElementA element);
        void visit(ElementB element);
    }
2.4 創建具體訪問者對象
    public class Visitor implements IVisitor {
        @Override
        public void visit(ElementA element) {
            System.out.println("ElementA visit ... ");
        }
        @Override
        public void visit(ElementB element) {
            System.out.println("ElementB visit ... ");
        }
    }
2.5 調用
    public static void main(String[] args) {
        IElement element = new ElementA();
        IVisitor visitor = new Visitor();
        element.accept(visitor);
        element = new ElementB();
        element.accept(visitor);
    }
2.6 輸出
    ElementA visit ... 
    ElementB visit ... 
三. 優缺點 3.1 優點

良好的擴展性.

靈活性.

3.2 缺點

增加新的元素類困難.

四. 源碼
    https://github.com/Seasons20/DisignPattern.git

END

文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。

轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/69748.html

相關文章

  • 理解設計模式

    摘要:適配器模式將一個類的接口轉換成客戶希望的另外一個接口。代理模式為其他對象提供一種代理以控制對這個對象的訪問。如果用來解決排序問題不符合開閉原則,添加策略需要修改代碼用策略模式將策略抽象成接口,不同的策略實現該接口。 簡單工廠、工廠方法、抽象工廠 簡單工廠 通過定義多個factory.produceXXX()方法,或者通過向factory.produce(type)傳遞type參數來生成...

    saucxs 評論0 收藏0
  • PHP設計模式問者模式

    摘要:訪問者模式解決的問題在我們的代碼編寫過程當中,經常需要對一些類似的對象添加一些的代碼,我們以一個計算機對象打印組成部分為例來看下抽象基類獲取名稱類內存類鍵盤類計算機類循環打印各個組成部分這個時候上面的代碼看上去好像很完美的樣子,但是問 訪問者模式解決的問題 在我們的代碼編寫過程當中,經常需要對一些類似的對象添加一些的代碼,我們以一個計算機對象打印組成部分為例來看下: /** ...

    用戶83 評論0 收藏0
  • 「譯」什么是抽象語法樹

    摘要:原文地址原文作者是抽象語法樹的縮寫詞,表示編程語言的語句和表達式中生成的。解釋器將會遍歷該數組并執行里面的語句。,,,是一組相關的類,每一個類都需要攜帶方法以使解釋器獲得它們的值或者對它們求值。 原文地址:What is an Abstract Syntax Tree 原文作者:Chidume Nnamdi showImg(https://segmentfault.com/img...

    JouyPub 評論0 收藏0
  • php 設計模式問者模式

    摘要:概念訪問者模式實際上是讓外部類能夠獲取樹形結構的每個節點的對象,對每個對象進行操作的模式,他能讓我們在不改動原有樹形結構的基礎上擴展功能。 概念: 訪問者模式實際上是讓外部類能夠獲取樹形結構的每個節點的對象,對每個對象進行操作的模式, 他能讓我們在不改動原有樹形結構的基礎上擴展功能。比如統計等等 在這種模式下,必須有的幾個要素: 1: 具體的元素對象, 訪問者實際要訪問的位置(即節...

    zzir 評論0 收藏0
  • 行為型模式

    摘要:但是發出者并不清楚到底最終那個對象會處理該請求,所以,責任鏈模式可以實現,在隱瞞客戶端的情況下,對系統進行動態的調整。因為訪問者模式使得算法操作增加變得容易。訪問者模式將有關行為集中到一個訪問者對象中,其改變不影響系統數據結構。 總體分為3大類:創建型模式 (5種):工廠方法、抽象工廠、單例、建造者、原型結構型模式(7種):適配器、裝飾器、代理、外觀、橋接、組合、享元行為型模式(11種...

    why_rookie 評論0 收藏0

發表評論

0條評論

Bryan

|高級講師

TA的文章

閱讀更多
最新活動
閱讀需要支付1元查看
<