Разработчик .Net пытается выучить ruby ​​на рельсах

11

Я разработчик .NET, и у меня была возможность поиграть с Ruby on Rails в эти выходные.

В .NET мы разделяем слои приложения, создавая отдельные проекты библиотеки классов. С точки зрения шаблонов проектирования, мы должны делать это и в Rails, или это всего лишь один проект со всем в нем?

Райан Адриано
источник
1
+1, я могу найти множество учебников по кодированию, но нет ничего о том, «как мне управлять макетом этого полусложного проекта», которое я могу найти для большинства языков.
Уайетт Барнетт
Я не читал книгу Ruby от Pragmatic Press, но если это что-то вроде Erlang, они хорошо научили вас не только синтаксису языка, но и идиомам. Возможно, кто-то еще может прокомментировать это.
Майкл Браун

Ответы:

3

Вы обнаружите, что приложения Rails начинаются как отдельные репозитории. Более успешные (Twitter, Square и многие другие) разделяются на несколько кодовых баз по мере того, как они удовлетворяют этому требованию. Такими дополнительными кодовыми базами могут быть демоны , сервисы , гемы, Rails Engines или что-то еще.

Этот рефакторинг на несколько проектов не будет выполнен, пока не окажется необходимым, потому что YAGNI . Раздвоение вашего проекта в первый день замедляет время создания прототипов, а скорость создания прототипов является ключевым преимуществом Ruby и Rails. Вы должны иметь в виду, что создание класса или класса в Ruby почти ничего не стоит, равно как и разделение хорошо продуманного класса. Ваш чистый рубин код будет жить в основном под /app/( app/models, app/views app/controllers, app/helpers) и /lib/. Ваши статические активы, многоуровневые JS / Coffee и CSS / Sass / и другие будут включены /app/assets.

Понимание того, почему разделение класса Ruby так просто, требует некоторого прочтения по типу утки и понимания того, что интерфейсы Ruby не так железны, как вы могли бы привыкнуть в менее динамичной среде.

Вот несколько ссылок, которые могут вас заинтересовать:

Удачи в ваших проектах!

Даниэль Дж. Притчетт
источник
0

В Ruby библиотеки называются гемами, см. Http://www.ruby-lang.org/en/libraries/ и используются так же, как библиотеки классов .NET.

Xharze
источник
1
Да. Но мой вопрос таков; С точки зрения хорошего шаблона проектирования и хорошей практики программирования, мы отделяем модели и бизнес-правила от основного проекта Rails? Извините, если мой вопрос сбивает с толку. Я только что попал в рельсы, и я не знаю, как это объяснить. Это просто по-другому ..
Райан Адриано