Ich frage mich, ob ich hier im Namen von RAD zu viel abstrahiere.Gibt es etwas, das "zu abstrakt" ist?
Ein Beispiel hier - sagen wir, ich habe eine Datenbanktabelle, die 3 Modelle hat (das Hauptmodell, das Mapper-Modell und das Datenbankmodell). Jede davon erweitert ein abstraktes Modell, ein Mapper- und ein DB-Tabellenmodell.
Diese Einrichtung funktioniert sehr gut. Der Großteil der Operationen befindet sich tatsächlich in den abstrakten Modellen. Aber jetzt möchte ich noch mehr abstrahieren. Gehe ich zu weit?
Ich habe bereits grundlegende CRUD-Operationen abstrahiert, jetzt denke ich darüber nach, die fortgeschritteneren zu abstrahieren.
Ein Beispiel dafür wäre, ein paar verwandte Modelle zu holen. Zur Zeit würde ich folgendes tun:
$ modelOne-> modelTwo(); wo ModelTwo explizit definiert ist.
Meine Idee war dann entweder eine abstrakte Methode wie injectModel ('modelTwo') oder eine magische Methode zu verwenden.
Ich kann immer die relevanten Regeln einbauen, um sicherzustellen, dass meine Modelle die Integrität behalten ... aber ist das zu weit?
Alle Hinweise zu schätzen wissen.
Es ist mir egal, wie inkohärent etwas von meinem Code ist; Ich kann in diesen Teilen klare Dokumentationen und Kommentare schreiben.
Um zu paraphrasieren, "jedes Problem in der Informatik kann mit einer anderen Ebene der Abstraktion gelöst werden". Nein, es gibt kein "zu abstraktes". ;) – FrustratedWithFormsDesigner
Heh. Natürlich gibt es - in dem Moment, in dem die Abstraktion nicht verwendbar oder nützlich ist und nur dazu dient, die Bedeutung zu blockieren, sind Sie "zu abstrakt" geworden. – Oded
Ich bin mir nicht sicher, ob Sie es richtig verstehen, aber Sie könnten nach Beziehungen zwischen Modellen suchen, werfen Sie einen Blick auf Doktrin-Beziehungen als Beispiel: http: //www.doctrine-project.org/documentation/manual/1_0/de/defining-models # relationships – tawfekov