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?
design-patterns
.net
ruby-on-rails
Ryan Adriano
la source
la source
Réponses:
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:
Brève description de la frappe de canard ( blog de Yehuda Katz )
L'inestimable Sandi Metz sur comment et pourquoi concevoir des programmes OO simples à lire, à comprendre et à changer ( podcast Ruby Rogues de 2 heures ) ( Son livre fantastique )
Le créateur de Rails, David Heinemeier Hansson, sur le pipeline d'actifs et les problèmes de disposition de code qu'il résout ( vidéo de présentation de RailsConf )
Faire votre propre bijou ( HOWTO Rubygems.org )
Bonne chance avec vos projets!
la source
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.
la source