如果我有一个包含模型列表并希望为每个模型创建相应视图的集合,那么使用IOC(控制反转)执行此操作的最佳方法是什么?
我看到两种方式:
使用工厂模式。我只会传递我的模型集合并构建视图,因为我需要它们通过IOC传入的工厂。
创建另一个类,其中包含我需要的所有视图的列表,由IOC预先构建。然后我只从列表中选择我想要的视图。
您认为哪种方式更好?
答案 0 :(得分:2)
如果您可以提前构建视图,最佳解决方案可能是简单地将所有视图的列表(IEnumerable
)注入每个使用者,并可能使用Specification Pattern从中选择适当的视图那份清单。
另一方面,如果您需要运行时值,然后才能实例化每个视图a Factory is the correct solution。