一個擴展方法可能是要走的路,但我認爲這有點像把你的邏輯變成一個編譯時的單例,如果它永遠不會改變,那就好了。
因此,作爲然後所有的一切是基於合同我會嘗試這樣的事情,並注射
public class Poco
{
public int Foo;
public int Bar;
}
public class PocoUtility : IPocoUtility
{
private IService _service;
public PocoUtility(IService service)
{
_service = service;
}
public Result DoSomethingWithPoco(Poco poco)
{
return _service.Convert(poco);
}
}
public class SomethingThatUsesAPoco
{
private IPocoUtility _logicForSomething;
public SomethingThatUsesAPoco(IPocoFactory pocoFactory, IPocoUtility logicForSomething)
{
_poco = pocoFactory.CreateInstance();
}
public Result DoIt()
{
return _logicForSomething.DoSomethingWithPoco(_poco);
}
}
是'MyData'一個簡單的DTO(數據傳輸對象)? – 2013-03-01 12:34:27
是的,它應該被存儲爲XML,並在會話 – 2013-03-01 12:34:54
我想模型行爲停止是模型 – nilphilus 2013-03-01 12:35:00