我目前正在设计一个小型系统,并且我目前正在使用 structureMap 作为 IoC。我最近才明白接口隔离的意义……我现在想知道。
如果我有一个特定的业务对象,它将实现三个接口......我应该如何在代码的配置和实例化中处理这个?
假设我在一个简单的场景中有两个接口,用于一个名为 EmployeeServiceObject 的服务层类。IGenericEntity 和 IEmployeeServiceObject。
GenericEntity 将为类提供 CRUD 功能,而 IEmployeeServiceObject 将为业务查询/操作提供结果集。
如果在外观/服务层方法上,我必须使用 EmployeeServiceObject 类并实际使用两个接口的功能......应该如何处理?
最初我认为正确的做法是设置 IoC 的配置以将 IEmployeeServiceObject 映射到 EmployeeServiceObject,向工厂询问对象,然后在需要使用 CRUD 功能时将其转换为 IGenericEntity,但我不太确定. 这似乎也不正确,因为我永远不会正式声明具体类实际上正在实现未在 ioc 容器配置中设置的接口。
而且我绝对知道创建同一个具体类的两个实例但要求不同的接口......听起来更糟。
这应该如何处理?