
Design Pattern Rails
Service objects, form objects, decorators, presenters, query objects, concerns
1Apa itu Service Object di Rails?
Apa itu Service Object di Rails?
Jawaban
Service Object adalah kelas Ruby biasa (PORO) yang mengenkapsulasi logika bisnis kompleks, biasanya satu operasi tunggal. Ia mengekstrak logika dari controller dan model untuk menjaga Single Responsibility Principle (SRP). Biasanya, sebuah service object mengekspos satu metode publik seperti call atau execute, sehingga mudah diuji dan digunakan kembali.
2Apa keuntungan utama menggunakan Service Object daripada menempatkan logika di controller?
Apa keuntungan utama menggunakan Service Object daripada menempatkan logika di controller?
Jawaban
Keuntungan utama adalah kemudahan pengujian dan penggunaan kembali. Service Object adalah kelas Ruby yang terisolasi, mudah diuji secara terpisah tanpa harus mensimulasikan konteks HTTP lengkap sebuah controller. Selain itu, logika yang sama dapat dipanggil dari tempat berbeda (controller, job, console) tanpa duplikasi kode.
3Bagaimana cara menyusun Service Object dengan konvensi penamaan yang jelas?
Bagaimana cara menyusun Service Object dengan konvensi penamaan yang jelas?
Jawaban
Konvensi yang direkomendasikan adalah menggunakan kata kerja diikuti kata benda, mencerminkan aksi yang dilakukan (mis. CreateUser, ProcessPayment, SendInvitation). Layanan mengekspos metode call sebagai satu-satunya titik masuk, dan dapat dipanggil melalui UserCreator.call(params) atau UserCreator.new(params).call. Konvensi ini membuat kode terdokumentasi sendiri dan dapat diprediksi.
Apa itu Form Object dan kapan menggunakannya?
Modul Ruby mana yang disertakan dalam Form Object untuk memanfaatkan validasi ActiveRecord?
+19 pertanyaan wawancara
Topik wawancara Ruby on Rails lainnya
Dasar-Dasar Ruby
Pemrograman Berorientasi Objek di Ruby
Dasar-Dasar Rails
Routing & Controllers
Dasar-Dasar ActiveRecord
Views & Template ERB
Asosiasi ActiveRecord
Kueri ActiveRecord Lanjutan
Formulir Rails
Autentikasi & Otorisasi
Asset Pipeline modern & frontend
Mode API Rails
Pengujian dengan RSpec
ActiveJob & Background Jobs
ActionCable & WebSockets
ActionMailer
ActiveStorage
Strategi Caching
Migrasi tingkat lanjut
Rails Engines & Aplikasi Modular
Optimasi Performa
Metaprogramming Ruby
Keamanan Rails
GraphQL dengan Rails
Deployment & Produksi
Monitoring & Logging
Strategi Upgrade Rails
Kuasai Ruby on Rails untuk wawancara berikutnya
Akses semua pertanyaan, flashcards, tes teknis, latihan code review dan simulator wawancara.
Mulai gratis