今天接受了采访,我被要求在c#中创建一个工厂模式,这样我就可以添加Concrete类,而不必修改脚手架(创建者)。
任何人都可以通过示例来解决这个问题。
感谢,
答案 0 :(得分:1)
Abstract Factory
设计模式抽象了创建(一系列)对象的过程。
客户端(创建者)引用该抽象(AbstractFactory
接口)并且独立于
实现(即,如何创建对象,实例化哪些类)
您可以添加具体类(Factory1
,Factory2
,...),而无需修改客户端
(创作者)。
请参阅以下UML图表(如果您不确定如何实施,请告知我们。)
有关进一步的讨论,请参阅GoF设计模式记忆以进行学习 面向对象的设计&编程/抽象工厂(解决方案和代码示例) 在http://w3sdesign.com。
答案 1 :(得分:0)
我能想到的一种方法是让工厂返回一个所有具体类都将实现的接口。然后,工厂将使用依赖注入来注入特定的具体类,并在使用该接口的IoC容器注册类时进行控制。工厂只会使用接口方法来构建该对象。希望有意义并符合您的要求。通过脚手架我假设你的意思是实际的工厂逻辑。