標籤:適配器模式 軟體開發 物件導向 可擴充 結構
下面說說適配器模式:
定義:將一個類的介面轉換成客戶希望的另一個介面。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();
}
}
}