1
public class ConcreteService1: IService1
{
private IService2 _service2;
public void doSomething()
{
_service2 = new ConcreteService2();
.....
}
}
public class ConcreateService2: IService2
{
private IService1 _service1;
public void doSomething()
{
_service1 = new ConcreteService1();
.....
}
}
這是工廠或抽象工廠可以在這裏使用的情況。如果是的話,請你舉個例子。對象創建工廠模式
感謝您的回答。真的幫助了我。只是一個相關的問題是,我經歷了很多抽象工廠的例子,並觀察到幾乎所有例子中的AbstractFactory都比ConcreteFactories更多的實現。在我的情況下,我沒有看到更多的一個具體的工廠模式,它會是抽象工廠模式的正確實現。 – user2045038
這取決於現在可能是一種情況,但在後期如果您引入新接口,則可以由抽象工廠輕鬆處理。我想你會有兩個具體的工廠現在爲IService1和其他Iservice2兩個完全獨立 –
我仍然無法理解爲什麼在這種情況下,我需要創建兩個具體的工廠。作爲一個可以做這樣的工作:public class ConcreateServiceFactory:IAbstractInterfaceFactory {public IService1 InitializeService1(){....} public IService2 InitializeService2(){...}}你能解釋一下嗎? – user2045038