C# 程式設計經典300例 實例095 果園改變種植方式 適配器模式
實例095介紹適配器模式,範例程式有兩種寫法。
實例描述
範例以果園改變種植方式為例,目前已經存在一個果園類,提供一個指定城市種植指定類型的水果方法,由於需求發生更改,使用者只需要執行一個種植方法。
為了能有效地利用原有的果園類型,範例用了適配器模式改變種植方向的介面,以滿足新的需求。
輸出「北京果園種植蘋果」、「上海果園種植橘子」。
實現過程
//種植接口
public interface IPlant
{
void Plant();
}
//果園類
public class Orchard
{
public void Plant(string city, string fruit)
{
Console.WriteLine(“{0}果園種植{1}!”, city, fruit);
}
}
//類適配器:北京果園
public class BJOrchard:Orchard, IPlant
{
public void Plant()
{
base.Plant(“北京”,”蘋果”);
}
}
//對象適配器:上海果園
public class SHOrchard: IPlant
{
Orchard orchard = new Orchard();
public void Plant()
{
orchard.Plant(“上海”,”橘子”);
}
}
main函數代碼如下:
IPlant target = new BJOrchard();
target .Plant();
target = new SHOrchard();
target .Plant();
代碼解析
適配器模式主要將類的介面轉成新的介面形式,以滿足新的需求。適配器模式應用在已有類型進行複用,但介面與需求不一致的場合。
留言
張貼留言