.Net-Entwickler, der versucht, Ruby on Rails zu lernen

11

Ich bin ein .NET-Entwickler und hatte dieses Wochenende gerade die Gelegenheit, mit Ruby on Rails zu spielen.

In .NET trennen wir Ebenen der Anwendung, indem wir separate Klassenbibliotheksprojekte erstellen. Müssen wir das vom Standpunkt des Entwurfsmusters aus auch in Rails tun, oder ist es nur ein ganzes Projekt mit allem darin?

Ryan Adriano
quelle
1
+1, ich kann viele Codierungs-Tutorials finden, aber es gibt nichts zu "Wie verwalte ich das Layout dieses halbkomplexen Projekts?", Das ich für die meisten Sprachen finden kann.
Wyatt Barnett
Ich habe das Ruby-Buch der Pragmatic Press nicht gelesen, aber wenn es etwas wie Erlang ist, können sie Ihnen nicht nur die Syntax der Sprache, sondern auch die Redewendungen beibringen. Vielleicht kann jemand anderes das kommentieren.
Michael Brown

Antworten:

3

Sie werden feststellen, dass Rails-Apps als einzelne Repos gestartet werden . Die erfolgreicheren (Twitter, Square, viele andere) teilen sich in mehrere Codebasen auf, wenn sie diese Anforderung erfüllen. Diese zusätzlichen Codebasen können Dämonen , Dienste , Edelsteine, Rails Engines oder etwas anderes sein.

Dieses Refactoring in mehrere Projekte wird erst durchgeführt, wenn es sich als notwendig erweist, weil YAGNI . Die Aufteilung Ihres Projekts am ersten Tag verlangsamt die Prototyping-Zeit, und die Prototyping-Geschwindigkeit ist eine wichtige Stärke von Ruby und Rails. Sie sollten bedenken, dass das Erstellen oder eine Klasse in Ruby fast nichts kostet, ebenso wie das Auseinanderbrechen einer gut durchdachten Klasse. Ihr reiner Code Ruby lebt meist unter /app/( app/models, app/views app/controllers, app/helpers) und /lib/. Ihre statischen Assets, geschichteten JS / Coffee-Includes und CSS / Sass / etc-Includes werden enthalten sein /app/assets.

Um zu verstehen, warum das Auseinanderbrechen einer Ruby-Klasse so einfach ist, müssen Sie ein wenig über das Tippen von Enten lesen und verstehen, dass Rubys Benutzeroberflächen nicht so einfach sind, wie Sie es in einer weniger dynamischen Umgebung gewohnt sind.

Hier sind einige Links, die Sie interessieren könnten:

Viel Glück bei Ihren Projekten!

Daniel J. Pritchett
quelle
0

In Ruby werden Bibliotheken als Edelsteine ​​bezeichnet (siehe http://www.ruby-lang.org/en/libraries/ ) und werden ähnlich wie .NET-Klassenbibliotheken verwendet.

Xharze
quelle
1
Ja. Aber meine Frage ist; Trennen wir im Hinblick auf ein gutes Entwurfsmuster und eine gute Programmierpraxis Modelle und Geschäftsregeln vom Hauptschienenprojekt? Entschuldigung, wenn meine Frage verwirrend ist. Ich bin gerade in Schienen geraten und weiß nicht wirklich, wie ich es erklären soll. Es ist einfach anders ..
Ryan Adriano