Desenvolvedor .Net tentando aprender Ruby on Rails

11

Sou desenvolvedor .NET e tive a chance de jogar com Ruby on Rails neste fim de semana.

No .NET, separamos as camadas do aplicativo criando projetos de bibliotecas de classes separados. Do ponto de vista do padrão de design, temos que fazer isso no Rails também ou é apenas um projeto inteiro com tudo?

Ryan Adriano
fonte
1
+1, posso encontrar vários tutoriais de codificação, mas não há nada sobre "como gerenciar o layout deste projeto semi-complexo" que posso encontrar na maioria dos idiomas.
Wyatt Barnett
Não li o livro Ruby da Pragmatic Press ', mas se é algo como Erlang, eles fazem um bom trabalho ensinando não apenas a sintaxe da língua, mas também as expressões idiomáticas. Talvez alguém possa comentar sobre isso.
Michael Brown

Respostas:

3

Você verá que os aplicativos Rails iniciam como repositórios únicos. Os mais bem-sucedidos (Twitter, Square, muitos outros) se dividem em várias bases de código à medida que crescem nesse requisito. Essas bases de código adicionais podem ser daemons , serviços , gemas, Rails Engines ou qualquer outra coisa.

Essa refatoração em vários projetos não é feita até que seja necessário, porque o YAGNI . A bifurcação do seu projeto no dia 1 diminui o tempo de prototipagem e a velocidade da prototipagem é um dos pontos fortes do Ruby e do Rails. Você deve ter em mente que criar ou uma classe no Ruby não custa quase nada, assim como desmembrar uma classe bem projetada. Seu código Ruby puro vai viver na maior parte sob /app/( app/models, app/views app/controllers, app/helpers) e /lib/. Seus ativos estáticos, incluindo JS / Coffee em camadas e CSS / Sass / etc incluem /app/assets.

Entender por que separar uma classe Ruby é tão fácil requer um pouco de leitura sobre digitação de pato e o entendimento de que as interfaces do Ruby não são tão rígidas quanto você pode estar acostumado em um ambiente menos dinâmico.

Aqui estão alguns links que podem lhe interessar:

Boa sorte com seus projetos!

Daniel J. Pritchett
fonte
0

No Ruby, as bibliotecas são chamadas de gemas, consulte http://www.ruby-lang.org/en/libraries/ e são usadas da mesma maneira que as bibliotecas de classes .NET.

Xharze
fonte
1
Sim. Mas minha pergunta é; em termos de bom padrão de design e boas práticas de programação, separamos modelos e regras de negócios do projeto principal de rails? Desculpe se minha pergunta é confusa. Eu entrei nos trilhos e realmente não sei como explicar. É apenas diferente ..
Ryan Adriano