2017-11-11 1 views
0

Ich lerne Ruby on Rails schon seit einiger Zeit und habe mehrere Spielzeuganwendungen gebaut. Ich habe viele Kurse/Kurse belegt (z. B. Hartl, Code School, Udemy usw.). Jetzt arbeite ich an einem Haustier-Projekt, das ziemlich komplex ist - viele Modelle und Beziehungen.Wie denken Sie über Modelle und Beziehungen in komplexeren Rails-Anwendungen?

Hier ist meine Frage: Wie gehe ich über eine komplexe Anwendung in Bezug auf Modelle und Beziehungen nachdenken? Es scheint mir, dass es eine visuelle Möglichkeit geben sollte, all das zu modellieren, aber ich habe keine Diskussion über solche Modellierung in irgendeiner der Klassen gesehen, die ich gemacht habe. Sicher, es gibt die sehr einfachen Diagramme in den Rails Guides, aber wie erweitere ich das auf etwas Komplexeres? Oder mache ich das zu kompliziert? Fange ich gerade an, Modelle und Beziehungen zu kodieren und zu sehen, wohin es mich führt? Es scheint, als könnte dieser ad hoc-Ansatz mich leicht in eine Ecke bringen, wo ich von vorne anfangen muss, wenn ich mich sozusagen in eine Ecke male.

Gibt es Tools oder Blogposts, die mir helfen können?

(Anmerkung: Ich habe auch diese Frage auf Reddit.Com/r/Rails bei https://www.reddit.com/r/rails/comments/7c9zbf/how_to_think_about_rails_web_application/ veröffentlicht)

+1

Ich weiß nicht, welche Antwort Sie erhoffen. Eine Liste von Büchern, Videos, Blogs usw. über Schienen? Ein Link zu einem Tutorial zu Datenbankdiagrammen? Persönliche Meinung zum Design von Anwendungen? Es ist keine sehr spezifische Frage, daher weiß ich nicht, wie ich darauf antworten soll. –

Antwort

3

Es klingt wie das, was du bist, nachdem ein Schema Designer ist. Ich werde einen am Ende dieses Beitrags verlinken. Ein Schemadesigner ermöglicht Ihnen, alle Beziehungen in Ihrer Anwendung zu visualisieren und zu sehen, wie sich ein Modell mit einem anderen verbindet. Sie sind sehr hilfreich beim Schreiben komplexer DB-Abfragen. Ich habe ein Beispiel eines ziemlich einfachen Entwurfs beigefügt, nur um Ihnen eine Idee zu geben, was sie tun. Sie können auch alle Spalten hinzufügen, die ein Modell im Design hat, ich verwende es normalerweise nur für Beziehungen. http://ondras.zarovi.cz/sql/demo/ schema expample

1

Rein aufgrund meiner Erfahrung/Meinung ...

Sie werden Ihre Datenbank entwerfen ein paar Mal zu ändern am Ende, wie Sie Ihre App bauen.

Ich würde mit einem Whiteboard beginnen, dann erwägen, einen Schema-Designer als @aram erwähnt.

Nachdem Sie das große Bild gesehen haben, beginnen Sie einfach mit den Beziehungen, die Sie für die heutigen Funktionen benötigen. Sie können sich immer wieder auf das ursprüngliche Design beziehen, damit Sie das Gesamtbild sehen können, aber Sie möchten Ihre Architektur nicht überblähen, bevor Sie es benötigen, da sich dies ändern wird.

Nachdem Sie einen Code geschrieben und diese Beziehungen erstellt haben, können Sie anhand des Rails-Erd-Gems überprüfen, ob das Schema Ihrer App programmgesteuert generiert wird.

+0

Während ich @Aram Kredit für die Antwort gegeben habe, möchte ich "Danke" für Ihre Antwort sagen, besonders für die Erwähnung des Rails-Erd-Gem. Wirklich schön, meine Modelle als Diagramm zu sehen! –

Verwandte Themen