Ich habe eine Lösung in VS2010 mit mehreren Projekten, die jeweils eine Ebene innerhalb meiner Anwendung bilden. Ich habe Geschäftsentitäten, die momentan keine Methoden sind, und ich habe eine Verwaltungsebene, die auf die Ebene der Geschäftsentitäten im Projekt verweist. Ich denke jetzt, dass ich meine Anwendung schlecht entworfen habe und Methoden aus Hilfsklassen (die sich in einer anderen Schicht befinden) in Methoden verschieben möchte, die ich innerhalb der Geschäftseinheiten selbst erstellen werde.Wie kann ich meine Business-Objekt-Ebene dazu bringen, die Management-Ebene in ihren Methoden zu verwenden?
Zum Beispiel habe ich ein VirtualMachine-Objekt, das eine Hilfsklasse verwendet, um eine Reboot() - Methode darauf aufzurufen, die die Anforderung an die Management-Schicht übergibt. Die statische Manager-Klasse kommuniziert mit einer API, die die VM neu startet. Ich möchte das Reboot() -Methode in das Virtuelle Maschine Objekt bewegen, aber ich werde die Management-Ebene verweisen müssen:
public void Reboot()
{
VMManager.Reboot(this.Name);
}
Also, wenn ich einen Hinweis auf meine Management-Projekt in meiner Entitäten Projekt hinzuzufügen, erhalte ich die Kreis Abhängigkeitsfehler, so sollte es sein. Wie kann ich diese Situation klären? Muss ich noch eine weitere Ebene zwischen der Entitätsschicht und der Verwaltungsebene erstellen? Oder sollte ich es einfach vergessen und es so lassen wie es ist?
Die Anwendung funktioniert jetzt ok, aber ich bin besorgt, mein Design ist nicht besonders OOP centric und ich möchte dies korrigieren.