我試圖進入編碼到接口而不是實現的習慣,雖然在大多數情況下,我可以看到有幾個原因我奮鬥。編程接口不實施混淆
拿這個非常簡單的例子:
public interface IAuditLog
{
void AddLog(string log);
}
public class AuditLog : IAuditLog
{
public void AddLog(string log)
{
//implementation
}
}
要調用的審計日誌類:
public partial class AuditLogPage : System.Web.UI.Page
{
protected void btnAddLog_Click(object sender, EventArgs e)
{
IAuditLog objAuditLog = new AuditLog();
objAuditLog.AddLog("test log");
}
}
我還是要用審計日誌實例的時候,有什麼意義呢?如果AddLog方法簽名發生變化,我仍然需要瀏覽所有使用它的頁面並修改代碼。我錯過了這一點嗎?
感謝您提前提供任何幫助, Wilky。
您可能需要將工廠添加到解決方案中... –
感謝Asif。非常有意義。 – Wilky