
Rails Tasarım Desenleri
Service objects, form objects, decorators, presenters, query objects, concerns
1Rails'te Service Object nedir?
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.
2Mantığı controller'a koymak yerine Service Object kullanmanın temel avantajı nedir?
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.
3Net bir adlandırma kuralıyla bir Service Object nasıl yapılandırılır?
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.
Form Object nedir ve ne zaman kullanılır?
ActiveRecord doğrulamalarından yararlanmak için bir Form Object'e hangi Ruby modülü dahil edilmelidir?
+19 mülakat soruları
Diğer Ruby on Rails mülakat konuları
Ruby Temelleri
Ruby'de Nesne Yönelimli Programlama
Rails Temelleri
Routing & Controllers
ActiveRecord Temelleri
Views ve ERB Şablonları
ActiveRecord İlişkileri
Gelişmiş ActiveRecord Sorguları
Rails Formları
Kimlik Doğrulama ve Yetkilendirme
Modern Asset Pipeline ve frontend
Rails API Modu
RSpec ile Test
ActiveJob & Background Jobs
ActionCable & WebSockets
ActionMailer
ActiveStorage
Caching Stratejileri
Gelişmiş migrasyonlar
Rails Engines ve Modüler Uygulamalar
Performans Optimizasyonu
Ruby Metaprogramlama
Rails Güvenliği
Rails ile GraphQL
Dağıtım ve Üretim
Monitoring & Logging
Rails Yükseltme Stratejileri
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