我必須執行一些操作。他們每個人都有一些共同的元素,所以他們應該從一個類繼承。可以說,他們是做一些網絡行爲,所以基類是如何處理繼承類的區別?
public class WebAction
{
private ServerData _serverData;
public WebAction(ServerData serverData)
{
_serverData = serverData;
}
}
而且,每個這個動作需要被執行,因此在基類中我也應該有某種Execute()
方法。問題是,這個對象的每一個做了一點點不同的事情,所以它應該採取不同的參數。我的問題是 - 女巫的方式是最好的達到這個?
起初我在想一些配置對象,e,g。 Execute(IWebActionConfig config)
。在這種情況下,我可以像使用對象:
LoginWebAction loginWebAction = LoginWebAction(staticServerConfig);
LoginWebActionConfig = new LoginWebActionConfig { someData = "foo" };
loginWebAction.Execute(loginWebActionConfig);
但是它有什麼意義來創建對象的一個額外的樹?也許會更好地配置屬性的每個孩子的WebAction?
LoginWebAction loginWebAction = LoginWebAction(staticServerConfig);
loginWebAction.someData = "foo";
// Execute will throw exception when someData not set
loginWebAction.Execute();
有了這些(如果有的話)方式更好嗎?