# Rails Design Patterns (Ruby on Rails) > Service Objects, Form Objects, Decorators, Presenters, Query Objects, Concerns - 22 Interview-Fragen - Senior - [Interview-Fragen: Ruby on Rails](https://sharpskill.dev/de/technologies/ruby-on-rails/interviewfragen.md) ## 1. Was ist ein Service Object in Rails? **Antwort** Ein Service Object ist eine reine Ruby-Klasse (PORO), die komplexe Geschäftslogik kapselt, typischerweise eine einzelne Operation. Es extrahiert Logik aus Controllern und Models, um das Single Responsibility Principle (SRP) einzuhalten. Üblicherweise stellt ein Service Object eine einzige öffentliche Methode wie call oder execute bereit, was Tests und Wiederverwendung erleichtert. ## 2. Was ist der Hauptvorteil der Verwendung eines Service Objects, anstatt die Logik in den Controller zu legen? **Antwort** Der Hauptvorteil ist die Testbarkeit und Wiederverwendbarkeit. Ein Service Object ist eine isolierte Ruby-Klasse, die sich leicht isoliert testen lässt, ohne den vollständigen HTTP-Kontext eines Controllers zu simulieren. Außerdem kann dieselbe Logik von verschiedenen Stellen (Controller, Jobs, Konsole) ohne Code-Duplizierung aufgerufen werden. ## 3. Wie strukturiert man ein Service Object mit einer klaren Namenskonvention? **Antwort** Die empfohlene Konvention ist, ein Verb gefolgt von einem Substantiv zu verwenden, das die ausgeführte Aktion widerspiegelt (z. B. CreateUser, ProcessPayment, SendInvitation). Der Service stellt eine call-Methode als einzigen Einstiegspunkt bereit und kann über UserCreator.call(params) oder UserCreator.new(params).call aufgerufen werden. Diese Konvention macht den Code selbstdokumentierend und vorhersehbar. ## 19 weitere Fragen verfügbar - Was ist ein Form Object und wann verwendet man es? - Welches Ruby-Modul sollte man in ein Form Object einbinden, um von ActiveRecord-Validierungen zu profitieren? Kostenlos registrieren: https://sharpskill.dev/de/login ## Weitere Ruby on Rails-Interviewthemen - [Ruby-Grundlagen](https://sharpskill.dev/de/technologies/ruby-on-rails/interviewfragen/ruby-basics.md): 25 Fragen, Junior - [Objektorientierte Programmierung in Ruby](https://sharpskill.dev/de/technologies/ruby-on-rails/interviewfragen/ruby-oop.md): 20 Fragen, Junior - [Rails-Grundlagen](https://sharpskill.dev/de/technologies/ruby-on-rails/interviewfragen/rails-fundamentals.md): 18 Fragen, Junior - [Routing & Controllers](https://sharpskill.dev/de/technologies/ruby-on-rails/interviewfragen/routing-controllers.md): 22 Fragen, Junior - [ActiveRecord-Grundlagen](https://sharpskill.dev/de/technologies/ruby-on-rails/interviewfragen/active-record-basics.md): 25 Fragen, Junior - [Views & ERB-Templates](https://sharpskill.dev/de/technologies/ruby-on-rails/interviewfragen/views-erb-templates.md): 20 Fragen, Junior - [ActiveRecord-Assoziationen](https://sharpskill.dev/de/technologies/ruby-on-rails/interviewfragen/active-record-associations.md): 24 Fragen, Mid-Level - [Fortgeschrittene ActiveRecord-Abfragen](https://sharpskill.dev/de/technologies/ruby-on-rails/interviewfragen/active-record-queries.md): 28 Fragen, Mid-Level - [Rails-Formulare](https://sharpskill.dev/de/technologies/ruby-on-rails/interviewfragen/rails-forms.md): 20 Fragen, Mid-Level - [Authentifizierung & Autorisierung](https://sharpskill.dev/de/technologies/ruby-on-rails/interviewfragen/authentication-authorization.md): 22 Fragen, Mid-Level - [Moderne Asset Pipeline & Frontend](https://sharpskill.dev/de/technologies/ruby-on-rails/interviewfragen/rails-asset-pipeline.md): 18 Fragen, Mid-Level - [Rails API-Modus](https://sharpskill.dev/de/technologies/ruby-on-rails/interviewfragen/rails-api-mode.md): 20 Fragen, Mid-Level - [Testen mit RSpec](https://sharpskill.dev/de/technologies/ruby-on-rails/interviewfragen/rails-testing-rspec.md): 24 Fragen, Mid-Level - [ActiveJob & Background Jobs](https://sharpskill.dev/de/technologies/ruby-on-rails/interviewfragen/active-job-background-jobs.md): 20 Fragen, Mid-Level - [ActionCable & WebSockets](https://sharpskill.dev/de/technologies/ruby-on-rails/interviewfragen/action-cable-websockets.md): 18 Fragen, Mid-Level - [ActionMailer](https://sharpskill.dev/de/technologies/ruby-on-rails/interviewfragen/action-mailer.md): 18 Fragen, Mid-Level - [ActiveStorage](https://sharpskill.dev/de/technologies/ruby-on-rails/interviewfragen/active-storage.md): 20 Fragen, Mid-Level - [Caching-Strategien](https://sharpskill.dev/de/technologies/ruby-on-rails/interviewfragen/caching-strategies.md): 20 Fragen, Mid-Level - [Fortgeschrittene Migrationen](https://sharpskill.dev/de/technologies/ruby-on-rails/interviewfragen/database-migrations-advanced.md): 20 Fragen, Mid-Level - [Rails Engines & modulare Apps](https://sharpskill.dev/de/technologies/ruby-on-rails/interviewfragen/rails-engines-modular-apps.md): 18 Fragen, Senior - [Performance-Optimierung](https://sharpskill.dev/de/technologies/ruby-on-rails/interviewfragen/performance-optimization.md): 26 Fragen, Senior - [Ruby-Metaprogrammierung](https://sharpskill.dev/de/technologies/ruby-on-rails/interviewfragen/ruby-metaprogramming.md): 20 Fragen, Senior - [Rails-Sicherheit](https://sharpskill.dev/de/technologies/ruby-on-rails/interviewfragen/rails-security.md): 22 Fragen, Senior - [GraphQL mit Rails](https://sharpskill.dev/de/technologies/ruby-on-rails/interviewfragen/graphql-rails.md): 20 Fragen, Senior - [Deployment & Produktion](https://sharpskill.dev/de/technologies/ruby-on-rails/interviewfragen/rails-deployment-production.md): 20 Fragen, Senior - [Monitoring & Logging](https://sharpskill.dev/de/technologies/ruby-on-rails/interviewfragen/monitoring-logging.md): 20 Fragen, Senior - [Rails-Upgrade-Strategien](https://sharpskill.dev/de/technologies/ruby-on-rails/interviewfragen/rails-upgrade-strategies.md): 18 Fragen, Senior --- Source: SharpSkill (https://sharpskill.dev), tech interview preparation for your real stack. HTML version of this page: https://sharpskill.dev/de/technologies/ruby-on-rails/interviewfragen/rails-design-patterns