以往我們寫code總是會這樣 new一個新的物件
直接依賴但是當我們在較複雜的架構時,我們就需要一直去重構方法
class Program
{
static void Main(string[] args)
{
Dosomething do = new Dosomething();
do.Write("Hello World");
}
}
class Dosomething
{
public void Write(string msg)
{
Console.WriteLine(msg);
}
}
後續衍伸出interface 定義個實作的介面
我們是先定義好實作 後續才是去針對判斷去new 出我們想實作的辦法
這樣好處是程式更有規範更方便理解,統一 一個接口方法最後看你想實作哪個部分
class Program
{
static void Main(string[] args)
{
ICooking cooking;
//我決定要做三杯雞 來吧!
var food = "三杯雞";
if (food == "三杯雞")
{
cooking = new FoodService();
Console.WriteLine(cooking.Make());
}
else {
cooking = new DrinkService();
Console.WriteLine(cooking.Make());
}
Console.Read();
}
}
interface ICooking
{
string Make();
}
class FoodService : ICooking
{
public string Make()
{
return "紅燒牛肉";
}
}
class DrinkService : ICooking
{
public string Make()
{
return "珍珠奶茶";
}
}
沒有留言:
張貼留言