Ruby on Rails

Design Pattern Rails

Service objects, form objects, decorators, presenters, query objects, concerns

22 pertanyaan wawancara·
Senior
1

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.

2

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.

3

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.

4

Apa itu Form Object dan kapan menggunakannya?

5

Modul Ruby mana yang disertakan dalam Form Object untuk memanfaatkan validasi ActiveRecord?

+19 pertanyaan wawancara

Kuasai Ruby on Rails untuk wawancara berikutnya

Akses semua pertanyaan, flashcards, tes teknis, latihan code review dan simulator wawancara.

Mulai gratis