// 介面定義契約
public interface IMyInterface
{
string Msg { get; set; }
void DoWork();
}
// 類別實作並以屬性標記工廠方法
public class MyType : IMyInterface
{
[FactoryFunction]
public static IMyInterface CreateInstance() => new MyType();
// 介面實作...
}
優點:回傳型別為強型別介面、編譯期檢查、支援繼承、無轉型失敗風險。
能以介面表達預期調用時,應優先使用介面、工廠、委派,產出更清晰、可維護系統。反射是晚期繫結強大工具,框架內部使用,一般情況宜避免濫用。