Es gibt zwei Module A und B. Eine Änderung des Inhalts in der Datenbank von Modul A muss dazu führen, dass die Daten von Modul B gemeinsam geändert werden. Modul A kann auch einige Daten von Modul B lesen.
Wie kann man entwerfen, um die Kopplung zwischen Modulen zu minimieren?
Es gibt zwei Module A und B. Eine Änderung des Inhalts in der Datenbank von Modul A muss dazu führen, dass die Daten von Modul B gemeinsam geändert werden. Modul A kann auch einige Daten von Modul B lesen.
Wie kann man entwerfen, um die Kopplung zwischen Modulen zu minimieren?
Kunden als A und Bestellung als B betrachten. In diesem Beispiel wird der Wert in B geändert.
$customer = Customer::findOne(123);
$order = new Order();
$order->subtotal = 100;
// ...
// Festlegen des Attributs, das die Beziehung „Kunde“ in Order definiert
$order->customer_id = $customer->id;
$order->save();
Fügen Sie eine Serviceschicht hinzu, um die Geschäftslogik zu verwalten.
Ihr Problem des modulübergreifenden Aufrufs wird nicht auftreten. Denn die Serviceschicht hat nichts mit Modulen zu tun.