如何在不修改脚手架的情况下在c#中创建工厂模式(创建者)

时间:2015-02-11 18:05:54

标签: c# .net design-patterns .net-4.5 factory-pattern

今天接受了采访,我被要求在c#中创建一个工厂模式,这样我就可以添加Concrete类,而不必修改脚手架(创建者)。

任何人都可以通过示例来解决这个问题。

感谢,

2 个答案:

答案 0 :(得分:1)

Abstract Factory设计模式抽象了创建(一系列)对象的过程。

客户端(创建者)引用该抽象(AbstractFactory接口)并且独立于 实现(即,如何创建对象,实例化哪些类) 您可以添加具体类(Factory1Factory2,...),而无需修改客户端 (创作者)。

请参阅以下UML图表(如果您不确定如何实施,请告知我们。)

UML Diagram not found, please let me know

有关进一步的讨论,请参阅GoF设计模式记忆以进行学习 面向对象的设计&编程/抽象工厂(解决方案和代码示例) 在http://w3sdesign.com

答案 1 :(得分:0)

我能想到的一种方法是让工厂返回一个所有具体类都将实现的接口。然后,工厂将使用依赖注入来注入特定的具体类,并在使用该接口的IoC容器注册类时进行控制。工厂只会使用接口方法来构建该对象。希望有意义并符合您的要求。通过脚手架我假设你的意思是实际的工厂逻辑。