我在VS2010中有几个项目的解决方案,每个项目都在我的应用程序中组成一个图层。我有业务实体,它们是当前没有方法的对象,并且我有一个管理层,它引用其项目中的业务实体层。我现在认为我已经设计好了我的应用程序,并且希望将辅助类(位于另一层)中的方法移动到我将在业务实体中创建的方法中。如何让我的业务对象层在其方法中使用管理层?
例如,我有一个VirtualMachine对象,它使用助手类来调用它的Reboot()方法,该方法将请求传递给管理层。静态管理器类与重新启动虚拟机的API进行通信。我想重新启动()方法迁入的虚对象,但我需要引用管理层:
public void Reboot()
{
VMManager.Reboot(this.Name);
}
所以,如果我在我的实体项目中添加引用我的管理项目,我得到的圆形依赖性错误,这应该如何。我怎样才能排除这种情况?我是否需要在实体层和管理层之间设置另一个层?或者,我应该忘记它并保持原样。
现在应用程序可以正常工作,但我担心我的设计不是特别以OOP为中心的,我想更正此问题。