Ruby on Rails

Rails Tasarım Desenleri

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

22 mülakat soruları·
Senior
1

Rails'te Service Object nedir?

Cevap

Service Object, karmaşık iş mantığını (genellikle tek bir işlemi) kapsülleyen düz bir Ruby sınıfıdır (PORO). Single Responsibility Principle (SRP) korumak için controller ve model'lerden mantığı ayıklar. Tipik olarak bir service object, call veya execute gibi tek bir public metot sunar; bu da onu test etmesi ve yeniden kullanması kolay hale getirir.

2

Mantığı controller'a koymak yerine Service Object kullanmanın temel avantajı nedir?

Cevap

Temel avantaj test edilebilirlik ve yeniden kullanılabilirliktir. Service Object, izole bir Ruby sınıfıdır ve bir controller'ın tam HTTP bağlamını simüle etmeden tek başına kolayca test edilebilir. Ayrıca aynı mantık, kod tekrarı olmadan farklı yerlerden (controller, job, console) çağrılabilir.

3

Net bir adlandırma kuralıyla bir Service Object nasıl yapılandırılır?

Cevap

Önerilen kural, gerçekleştirilen eylemi yansıtacak şekilde bir fiilin ardından bir isim kullanmaktır (ör. CreateUser, ProcessPayment, SendInvitation). Servis, tek giriş noktası olarak bir call metodu sunar ve UserCreator.call(params) veya UserCreator.new(params).call ile çağrılabilir. Bu kural, kodu kendi kendini belgeleyen ve öngörülebilir hale getirir.

4

Form Object nedir ve ne zaman kullanılır?

5

ActiveRecord doğrulamalarından yararlanmak için bir Form Object'e hangi Ruby modülü dahil edilmelidir?

+19 mülakat soruları

Bir sonraki mülakatın için Ruby on Rails'de uzmanlaş

Tüm sorulara, flashcards'a, teknik testlere, code review alıştırmalarına ve mülakat simülatörlerine eriş.

Ücretsiz başla