
Rails 디자인 패턴
Service objects, form objects, decorators, presenters, query objects, concerns
22 면접 질문·
Senior
1Rails에서 Service Object란 무엇입니까?
1
Rails에서 Service Object란 무엇입니까?
답변
Service Object는 복잡한 비즈니스 로직(일반적으로 단일 작업)을 캡슐화하는 순수 Ruby 클래스(PORO)입니다. controller와 model에서 로직을 추출하여 단일 책임 원칙(SRP)을 유지합니다. 일반적으로 service object는 call이나 execute 같은 단일 public 메서드를 노출하므로 테스트와 재사용이 쉽습니다.
2controller에 로직을 넣는 대신 Service Object를 사용하는 주요 장점은 무엇입니까?
2
controller에 로직을 넣는 대신 Service Object를 사용하는 주요 장점은 무엇입니까?
답변
주요 장점은 테스트 용이성과 재사용성입니다. Service Object는 독립된 Ruby 클래스로, controller의 완전한 HTTP 컨텍스트를 시뮬레이션하지 않고도 격리된 상태에서 쉽게 테스트할 수 있습니다. 또한 동일한 로직을 코드 중복 없이 여러 곳(controller, job, console)에서 호출할 수 있습니다.
3명확한 명명 규칙으로 Service Object를 어떻게 구성합니까?
3
명확한 명명 규칙으로 Service Object를 어떻게 구성합니까?
답변
권장되는 규칙은 수행되는 동작을 반영하도록 동사 다음에 명사를 사용하는 것입니다(예: CreateUser, ProcessPayment, SendInvitation). 서비스는 call 메서드를 단일 진입점으로 노출하며 UserCreator.call(params) 또는 UserCreator.new(params).call로 호출할 수 있습니다. 이 규칙은 코드를 자기 문서화하고 예측 가능하게 만듭니다.
4
Form Object란 무엇이며 언제 사용합니까?
5
ActiveRecord 검증을 활용하기 위해 Form Object에 포함해야 할 Ruby 모듈은 무엇입니까?
+19 면접 질문
기타 Ruby on Rails 면접 주제
Ruby 기초
Junior
25개 질문Ruby 객체 지향 프로그래밍
Junior
20개 질문Rails 기초
Junior
18개 질문Routing & Controllers
Junior
22개 질문ActiveRecord 기초
Junior
25개 질문Views와 ERB 템플릿
Junior
20개 질문ActiveRecord 연관 관계
Mid-Level
24개 질문고급 ActiveRecord 쿼리
Mid-Level
28개 질문Rails 폼
Mid-Level
20개 질문인증과 인가
Mid-Level
22개 질문최신 Asset Pipeline 및 프런트엔드
Mid-Level
18개 질문Rails API 모드
Mid-Level
20개 질문RSpec를 사용한 테스트
Mid-Level
24개 질문ActiveJob & Background Jobs
Mid-Level
20개 질문ActionCable & WebSockets
Mid-Level
18개 질문ActionMailer
Mid-Level
18개 질문ActiveStorage
Mid-Level
20개 질문캐싱 전략
Mid-Level
20개 질문고급 마이그레이션
Mid-Level
20개 질문Rails Engines 및 모듈식 앱
Senior
18개 질문성능 최적화
Senior
26개 질문Ruby 메타프로그래밍
Senior
20개 질문Rails 보안
Senior
22개 질문Rails에서의 GraphQL
Senior
20개 질문배포 및 프로덕션
Senior
20개 질문Monitoring & Logging
Senior
20개 질문Rails 업그레이드 전략
Senior
18개 질문