|
|
1
2
据我所知,您需要询问产品和类别之前的存在情况。这暗示了两种不同的存储库:一种是ProductRepository,另一种是CategoryRepository。 注入现有类别的列表是一种可能的方法,但是您还需要注入现有产品的列表。 另一种选择是注入两个存储库,并简单地询问它们产品或类别是否已经存在。如果您需要这些存储库提供的其他功能,这可能是一个更好的选择,因为您已经拥有了所需的依赖项。 您可能还想考虑同时进行这两项工作,以接近 Single Responsibility Principle .一个合作者可以是一个服务,它基于解析的数据、现有的类别和产品构造一个新的产品实例。另一个负责检索现有数据。另一个类将实现csv解析器。 所有类型都将实现接口,这样您就可以有这样的合作者:
然后,您的整个类将采用这三个接口作为依赖项并协调它们的交互。 这将允许您对每个依赖项使用mock进行单元测试。 |