# Architektura Symfony (Symfony) > Hexagonal architecture, DDD, CQRS, repositories, DTOs, value objects, bounded contexts - 24 pytań z rozmów - Senior - [Pytania z rozmów: Symfony](https://sharpskill.dev/pl/technologies/symfony/pytania-rekrutacyjne.md) ## 1. Jaka jest główna rola ports w hexagonal architecture? **Odpowiedź** Ports to interfejsy definiujące kontrakty między domeną biznesową a światem zewnętrznym. Primary ports (lub driving ports) pozwalają zewnętrznym aktorom wyzwalać akcje w domenie, podczas gdy secondary ports (lub driven ports) pozwalają domenie współdziałać z zewnętrzną infrastrukturą, taką jak bazy danych czy usługi zewnętrzne. Ta abstrakcja umożliwia zmianę implementacji bez wpływu na domenę biznesową. ## 2. Czym jest adapter w hexagonal architecture Symfony? **Odpowiedź** Adapter to konkretna implementacja portu, która łączy świat zewnętrzny z domain. Na przykład DoctrineUserRepository to adapter implementujący port UserRepositoryInterface. Po stronie primary controller Symfony to adapter, który dostosowuje żądania HTTP do use case'ów domain. Taki podział pozwala testować domain niezależnie od infrastructure. ## 3. Jaka jest główna cecha Value Object w Domain-Driven Design? **Odpowiedź** Value Object jest definiowany przez swoje atrybuty, a nie przez tożsamość. Dwa Value Objects o tych samych wartościach są uznawane za równe. Są niezmienne: każda modyfikacja tworzy nową instancję. Na przykład obiekt Email lub Money to typowe Value Objects. Ta niezmienność zapewnia spójność danych i ułatwia rozumowanie o kodzie w złożonych systemach. ## Jeszcze 21 dostępnych pytań - Jaka jest rola Aggregate Root w DDD? - Czym jest DTO (Data Transfer Object) i kiedy używać go w Symfony? Zarejestruj się za darmo: https://sharpskill.dev/pl/login ## Inne tematy rekrutacyjne Symfony - [Nowoczesny PHP (8.1+)](https://sharpskill.dev/pl/technologies/symfony/pytania-rekrutacyjne/php-modern-features.md): 20 pytań, Junior - [Podstawy Symfony](https://sharpskill.dev/pl/technologies/symfony/pytania-rekrutacyjne/symfony-basics.md): 25 pytań, Junior - [Routing & Controllers](https://sharpskill.dev/pl/technologies/symfony/pytania-rekrutacyjne/routing-controllers.md): 20 pytań, Junior - [Twig & Templates](https://sharpskill.dev/pl/technologies/symfony/pytania-rekrutacyjne/twig-templates.md): 20 pytań, Junior - [Podstawy Doctrine ORM](https://sharpskill.dev/pl/technologies/symfony/pytania-rekrutacyjne/doctrine-orm-basics.md): 25 pytań, Junior - [Formularze Symfony](https://sharpskill.dev/pl/technologies/symfony/pytania-rekrutacyjne/forms.md): 22 pytań, Junior - [Walidacja danych](https://sharpskill.dev/pl/technologies/symfony/pytania-rekrutacyjne/validation.md): 18 pytań, Junior - [Dependency Injection & Services](https://sharpskill.dev/pl/technologies/symfony/pytania-rekrutacyjne/dependency-injection.md): 24 pytań, Mid-Level - [Security & Authentication](https://sharpskill.dev/pl/technologies/symfony/pytania-rekrutacyjne/security-authentication.md): 26 pytań, Mid-Level - [Zaawansowany Doctrine](https://sharpskill.dev/pl/technologies/symfony/pytania-rekrutacyjne/doctrine-advanced.md): 24 pytań, Mid-Level - [API Platform](https://sharpskill.dev/pl/technologies/symfony/pytania-rekrutacyjne/api-platform.md): 22 pytań, Mid-Level - [Serializer Component](https://sharpskill.dev/pl/technologies/symfony/pytania-rekrutacyjne/serializer.md): 20 pytań, Mid-Level - [Events & Event Subscribers](https://sharpskill.dev/pl/technologies/symfony/pytania-rekrutacyjne/events-subscribers.md): 20 pytań, Mid-Level - [Console & Commands](https://sharpskill.dev/pl/technologies/symfony/pytania-rekrutacyjne/console-commands.md): 18 pytań, Mid-Level - [Messenger Component](https://sharpskill.dev/pl/technologies/symfony/pytania-rekrutacyjne/messenger.md): 22 pytań, Mid-Level - [HTTP Client](https://sharpskill.dev/pl/technologies/symfony/pytania-rekrutacyjne/http-client.md): 18 pytań, Mid-Level - [Cache i wydajność](https://sharpskill.dev/pl/technologies/symfony/pytania-rekrutacyjne/cache.md): 20 pytań, Mid-Level - [Workflow Component](https://sharpskill.dev/pl/technologies/symfony/pytania-rekrutacyjne/workflow.md): 18 pytań, Mid-Level - [Testing Symfony](https://sharpskill.dev/pl/technologies/symfony/pytania-rekrutacyjne/testing.md): 22 pytań, Mid-Level - [Mailer Component](https://sharpskill.dev/pl/technologies/symfony/pytania-rekrutacyjne/mailer.md): 16 pytań, Mid-Level - [Tłumaczenia i i18n](https://sharpskill.dev/pl/technologies/symfony/pytania-rekrutacyjne/translations.md): 16 pytań, Mid-Level - [EasyAdmin Bundle](https://sharpskill.dev/pl/technologies/symfony/pytania-rekrutacyjne/easyadmin.md): 18 pytań, Mid-Level - [Wydajność i optymalizacja](https://sharpskill.dev/pl/technologies/symfony/pytania-rekrutacyjne/performance-optimization.md): 22 pytań, Senior - [Zaawansowane bezpieczeństwo](https://sharpskill.dev/pl/technologies/symfony/pytania-rekrutacyjne/security-advanced.md): 22 pytań, Senior - [Niestandardowe bundle](https://sharpskill.dev/pl/technologies/symfony/pytania-rekrutacyjne/custom-bundles.md): 20 pytań, Senior - [Microservices z Symfony](https://sharpskill.dev/pl/technologies/symfony/pytania-rekrutacyjne/microservices.md): 22 pytań, Senior - [Real-time & WebSockets](https://sharpskill.dev/pl/technologies/symfony/pytania-rekrutacyjne/real-time.md): 18 pytań, Senior - [Deployment & DevOps](https://sharpskill.dev/pl/technologies/symfony/pytania-rekrutacyjne/deployment-devops.md): 20 pytań, Senior --- Source: SharpSkill (https://sharpskill.dev), tech interview preparation for your real stack. HTML version of this page: https://sharpskill.dev/pl/technologies/symfony/pytania-rekrutacyjne/architecture-patterns