首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> C語言 >> 關於C語言

我的設計模式之旅[6]:Adapter Pattern 物件適配器 C++/CLI 與 VB.NET 經典實作

     編輯:關於C語言

展示物件適配器經典形式:Adapter 實作 ITarget,內部組合 Adaptee,request() 呼叫 specificRequest()。

C++/CLI 版

interface class ITarget { void request(); };
ref class Adaptee { public: void specificRequest() { Console::WriteLine("Hello Adaptee!!"); } };
ref class Adapter : public ITarget {
    Adaptee^ _adaptee;
public:
    Adapter(Adaptee^ a) : _adaptee(a) {}
    virtual void request() { if (_adaptee != nullptr) _adaptee->specificRequest(); }
};

VB.NET 版

Interface ITarget : Sub request() : End Interface
Class Adaptee : Public Sub specificRequest() : Console.WriteLine("Hello Adaptee!!") : End Sub : End Class
Class Adapter : Implements ITarget
    Protected _adaptee As Adaptee
    Public Sub New(Optional adaptee As Adaptee = Nothing) : _adaptee = adaptee : End Sub
    Public Sub request() Implements ITarget.request
        If _adaptee IsNot Nothing Then _adaptee.specificRequest()
    End Sub
End Class

兩版本均展示標準物件適配器結構:目標介面、被適配類、適配器組合被適配物並轉發呼叫。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved