Un développeur .Net essaie d'apprendre le rubis sur les rails

11

Je suis développeur .NET et j'ai eu la chance de jouer avec Ruby on Rails ce week-end.

Dans .NET, nous séparons les couches de l'application en créant des projets de bibliothèque de classes distincts. Du point de vue du modèle de conception, devons-nous le faire également dans Rails ou s'agit-il simplement d'un projet entier avec tout ce qu'il contient?

Ryan Adriano
la source
1
+1, je peux trouver des tas de tutoriels de codage mais il n'y a rien sur "comment gérer la mise en page de ce projet semi-complexe" que je peux trouver pour la plupart des langues.
Wyatt Barnett
Je n'ai pas lu le livre Ruby de Pragmatic Press, mais si c'est quelque chose comme Erlang, ils font un bon travail pour vous enseigner non seulement la syntaxe de la langue mais aussi les idiomes. Peut-être que quelqu'un d'autre peut commenter cela.
Michael Brown

Réponses:

3

Vous constaterez que les applications Rails démarrent en tant que référentiels uniques. Les plus réussies (Twitter, Square, beaucoup d'autres) se divisent en plusieurs bases de code à mesure qu'elles grandissent dans cette exigence. Ces bases de code supplémentaires peuvent être des démons , des services , des gemmes, des moteurs Rails ou autre chose.

Cette refactorisation en plusieurs projets ne se fait que lorsqu'elle s'avère nécessaire, car YAGNI . La bifurcation de votre projet le premier jour ralentit le temps de prototypage, et la vitesse de prototypage est une force clé de Ruby et de Rails. Vous devez garder à l'esprit que la création ou une classe en Ruby ne coûte presque rien, tout comme la séparation d'une classe bien conçue. Votre pur le code Ruby la plupart vivent sous /app/( app/models, app/views app/controllers, app/helpers) et /lib/. Vos actifs statiques, les couches JS / Coffee en couches et CSS / Sass / etc seront inclus /app/assets.

Comprendre pourquoi séparer une classe Ruby est si facile nécessite un peu de lecture sur le typage de canard et comprendre que les interfaces de Ruby ne sont pas aussi résistantes que vous pourriez être habitué à dans un environnement moins dynamique.

Voici quelques liens qui pourraient vous intéresser:

Bonne chance avec vos projets!

Daniel J. Pritchett
la source
0

Dans Ruby, les bibliothèques sont appelées gemmes, voir http://www.ruby-lang.org/en/libraries/ , et sont utilisées de la même manière que les bibliothèques de classes .NET.

Xharze
la source
1
Oui. Mais ma question est; en termes de bon modèle de conception et de bonnes pratiques de programmation, séparons-nous les modèles et les règles métier du projet de rails principaux? Désolé si ma question prête à confusion. Je viens de monter dans les rails et je ne sais pas vraiment comment l'expliquer. C'est juste différent ..
Ryan Adriano