Desarrollador .Net tratando de aprender ruby ​​on rails

11

Soy un desarrollador de .NET y tuve la oportunidad de jugar con Ruby on Rails este fin de semana.

En .NET separamos las capas de la aplicación creando proyectos de biblioteca de clases separadas. Desde el punto de vista del patrón de diseño, ¿tenemos que hacer eso también en Rails o es solo un proyecto completo con todo?

Ryan Adriano
fuente
1
+1, puedo encontrar muchos tutoriales de codificación, pero no hay nada sobre "cómo administro el diseño de este proyecto semi complejo" que puedo encontrar para la mayoría de los idiomas.
Wyatt Barnett
No he leído el libro Ruby de Pragmatic Press, pero si se parece a Erlang, hacen un buen trabajo enseñándote no solo la sintaxis del idioma sino también los modismos. Quizás alguien más pueda comentar sobre eso.
Michael Brown

Respuestas:

3

Verás que las aplicaciones de Rails comienzan como repositorios únicos. Los más exitosos (Twitter, Square, muchos otros) se dividen en múltiples bases de código a medida que crecen en ese requisito. Esas bases de código adicionales pueden ser demonios , servicios , gemas, motores Rails u otra cosa.

Esta refactorización en múltiples proyectos no se realiza hasta que sea necesario, porque YAGNI . Bifurcar su proyecto el día 1 ralentiza el tiempo de creación de prototipos, y la velocidad de creación de prototipos es una fortaleza clave de Ruby y de Rails. Deberá tener en cuenta que crear o una clase en Ruby no cuesta casi nada, al igual que dividir una clase bien diseñada. Su código Ruby puro vivirá en su mayoría bajo /app/( app/models, app/views app/controllers, app/helpers) y /lib/. Sus activos estáticos, JS / Coffee en capas incluyen, y CSS / Sass / etc incluyen estarán en /app/assets.

Comprender por qué separar una clase de Ruby es tan fácil requiere un poco de lectura sobre la escritura de patos y la comprensión de que las interfaces de Ruby no son tan férreas como podría estar acostumbrado en un entorno menos dinámico.

Aquí hay algunos enlaces que pueden interesarle:

Buena suerte con tus proyectos!

Daniel J. Pritchett
fuente
0

En las bibliotecas de Ruby se llaman gemas, consulte http://www.ruby-lang.org/en/libraries/ , y se usa de la misma manera que las bibliotecas de clases .NET.

Xharze
fuente
1
Si. Pero mi pregunta es; En términos de un buen patrón de diseño y buenas prácticas de programación, ¿separamos los modelos y las reglas comerciales del proyecto de los rieles principales? Lo siento si mi pregunta es confusa. Me acabo de meter en los rieles y realmente no sé cómo explicarlo. Es simplemente diferente ..
Ryan Adriano