Programista .Net próbuje nauczyć się ruby ​​na szynach

11

Jestem programistą .NET i właśnie miałem okazję zagrać z Ruby on Rails w ten weekend.

W .NET oddzielamy warstwy aplikacji, tworząc osobne projekty bibliotek klas. Z punktu widzenia wzorca projektowego, czy musimy to robić również w Railsach, czy jest to tylko jeden projekt z tym wszystkim?

Ryan Adriano
źródło
1
+1, mogę znaleźć mnóstwo samouczków kodowania, ale nie ma nic na temat „jak zarządzać układem tego częściowo złożonego projektu”, który można znaleźć w większości języków.
Wyatt Barnett
Nie czytałem rubinowej książki Pragmatic Press, ale jeśli jest to coś podobnego do Erlanga, dobrze sobie radzą, ucząc cię nie tylko składni języka, ale także idiomów. Być może ktoś inny może to skomentować.
Michael Brown

Odpowiedzi:

3

Przekonasz się, że aplikacje Railsowe zaczynają się jako pojedyncze repo. Bardziej skuteczne (Twitter, Square, wiele innych) dzielą się na wiele baz kodów, gdy rosną w ten wymóg. Te dodatkowe bazy kodu mogą być demonami , usługami , klejnotami, silnikami szyn lub czymś innym.

To przekształcanie w wiele projektów nie jest wykonywane, dopóki nie okaże się konieczne, ponieważ YAGNI . Rozwidlenie projektu w pierwszym dniu spowalnia czas prototypowania, a szybkość prototypowania jest kluczową siłą Ruby i Rails. Musisz pamiętać, że tworzenie lub klasa w Rubim prawie nic nie kosztuje, podobnie jak podział dobrze zaprojektowanej klasy. Twój czysty kod Ruby będzie żył głównie pod /app/( app/models, app/views app/controllers, app/helpers) i /lib/. Twoje statyczne zasoby, warstwowe JS / Coffee obejmuje i CSS / Sass / etc obejmuje będą /app/assets.

Zrozumienie, dlaczego rozbicie klasy Ruby jest tak łatwe, wymaga trochę czytania na temat pisania na kaczkach i zrozumienia, że ​​interfejsy Ruby nie są tak ironiczne, jak można się przyzwyczaić w mniej dynamicznym środowisku.

Oto kilka linków, które mogą Cię zainteresować:

Powodzenia w twoich projektach!

Daniel J. Pritchett
źródło
0

W bibliotekach Ruby nazywane są klejnotami, patrz http://www.ruby-lang.org/en/libraries/ i są używane w taki sam sposób jak biblioteki klas .NET.

Xharze
źródło
1
Tak. Ale moje pytanie brzmi; pod względem dobrego wzorca projektowego i dobrej praktyki programowania, czy oddzielamy modele i reguły biznesowe od głównego projektu szyn? Przepraszam, jeśli moje pytanie jest mylące. Właśnie wpadłem na szyny i tak naprawdę nie wiem, jak to wyjaśnić. Po prostu jest inaczej ...
Ryan Adriano