Imr*_*ran 4 c# design-patterns factory
我想编写一个实例化实例化具体类并将其接口返回给客户端的工厂.通过这种方式,我可以将客户端与直接依赖于具体类相分离.但是,与此同时,我并不希望工厂对具体课程有所依赖.我可以使用Reflection来满足我的需要,但在此之前我想知道这是否是一个好习惯.
Jon*_*eet 10
没有更多具体细节很难说,但我通常希望工厂实现依赖于它创建实例的具体类.在我看来,这是一种非常自然的依赖.
如果你想让它成为一个非常通用的工厂,它本质上可以增加价值,因为它使用反射 - 实质上是大多数IoC容器所做的一小部分 - 那就没问题了; 但如果它是一个特定类型的工厂,那么我只是采取依赖.它可能会导致代码更容易理解和测试,而且效率更高.