適配器模式的分析、結構圖及基本代碼

來源:互聯網
上載者:User

標籤:適配器模式   軟體開發   物件導向   可擴充   結構   



下面說說適配器模式:

定義:將一個類的介面轉換成客戶希望的另一個介面。Adapter模式使得原本由於介面不相容而不能一起工作的那些類可以一起工作。
適用地方:在軟體開發中,也就是系統的資料和行為都正確,但介面不符時,我們應該考慮用適配器,目的是使控制範圍之外的一個原有對象與某個介面匹配。適配器模式主要應用於希望複用一些現存的類,但是介面又與複用環境要求不一致的情況。
注意:要在雙方都不太容易修改的時候再使用適配器模式適配。
開放-封閉原則:是說軟體實體(類、模組、函數等等)應該可以擴充,但是不可修改。這個原則其實有兩個特徵,一個是說‘對於擴充時開放的’,另一個是說‘對於更改時封閉的’。在我們最初編寫代碼的時候,假設變化不會發生。當變化發生時,我們就建立抽象來隔離以後發生的同類變化。即面對需求,對程式的改動是通過新增代碼進行的,而不是更改現有的代碼。這就是‘開放-封閉原則’的精神所在,遵循這個原則可以帶來物件導向技術所聲稱的巨大好處,也就是可維護、可擴充、可複用、靈活性好。
結構圖:


基本代碼:

using System;
using System.Collections.Generic;
using System.Text;

namespace 適配器模式
{
    class Program
    {
        static void Main(string[] args)
        {
            Target target = new Adapter();
            target.Request();

            Console.Read();

        }
    }

    class Target
    {
        public virtual void Request()
        {
            Console.WriteLine("普通請求");
        }
    }

    class Adaptee
    {
        public void SpecificRequest()
        {
            Console.WriteLine("特殊請求");
        }
    }

    class Adapter : Target
    {
        private Adaptee adaptee = new Adaptee();

        public override void Request()
        {
            adaptee.SpecificRequest();
        }
    }
}

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.