Pengembang .Net mencoba mempelajari ruby ​​di rel

11

Saya adalah pengembang .NET dan saya baru saja memiliki kesempatan untuk bermain dengan Ruby on Rails akhir pekan ini.

Di .NET kami memisahkan lapisan aplikasi dengan membuat proyek perpustakaan kelas yang terpisah. Dari sudut pandang pola desain, apakah kita juga harus melakukannya di Rails atau hanya satu proyek lengkap dengan semua yang ada di dalamnya?

Ryan Adriano
sumber
1
+1, saya dapat menemukan banyak tutorial pengkodean tetapi tidak ada apa-apa tentang "bagaimana saya mengatur tata letak proyek semi kompleks ini" yang dapat saya temukan untuk sebagian besar bahasa.
Wyatt Barnett
Saya belum pernah membaca buku Ruby Pragmatic Press ', tetapi jika itu seperti Erlang, mereka melakukan pekerjaan yang baik dalam mengajar Anda tidak hanya sintaks bahasa tetapi juga idiom. Mungkin orang lain bisa mengomentari itu.
Michael Brown

Jawaban:

3

Anda akan menemukan bahwa aplikasi Rails dimulai sebagai satu repo. Yang lebih sukses (Twitter, Square, banyak lainnya) dipecah menjadi beberapa basis kode saat mereka tumbuh ke dalam persyaratan itu. Basis kode tambahan itu bisa berupa daemon , layanan , permata, Mesin Rails , atau yang lainnya.

Refactoring ini menjadi beberapa proyek tidak dilakukan sampai terbukti perlu, karena YAGNI . Membagi dua proyek Anda pada hari 1 memperlambat waktu pembuatan prototipe, dan kecepatan pembuatan prototipe adalah kekuatan utama Ruby dan Rails. Anda harus ingat bahwa membuat atau kelas di Ruby hampir tidak ada biaya, seperti halnya memecah kelas yang ditentukan dengan baik. Kode Ruby murni Anda akan hidup sebagian besar di bawah /app/( app/models, app/views app/controllers, app/helpers) dan /lib/. Aset statis Anda, termasuk layered JS / Coffee, dan CSS / Sass / etc akan dimasukkan /app/assets.

Memahami mengapa memecah kelas Ruby sangat mudah membutuhkan sedikit pembacaan tentang mengetik bebek dan pemahaman bahwa antarmuka Ruby tidak sekeras yang Anda mungkin terbiasa dalam lingkungan yang kurang dinamis.

Berikut adalah beberapa tautan yang mungkin menarik bagi Anda:

Semoga berhasil dengan proyek Anda!

Daniel J. Pritchett
sumber
0

Di perpustakaan Ruby disebut permata, lihat http://www.ruby-lang.org/en/libraries/ , dan digunakan dengan cara yang sama seperti perpustakaan kelas .NET.

Xharze
sumber
1
Iya. Tapi pertanyaan saya adalah; dalam hal pola desain yang baik dan praktik pemrograman yang baik, apakah kita memisahkan model dan aturan bisnis dari proyek kereta api utama? Maaf jika pertanyaan saya membingungkan. Saya baru saja masuk ke rel dan saya tidak benar-benar tahu bagaimana menjelaskannya. Hanya berbeda ..
Ryan Adriano