Symfony

Architettura Symfony

Hexagonal architecture, DDD, CQRS, repositories, DTOs, value objects, bounded contexts

24 domande da colloquio·
Senior
1

Nella hexagonal architecture, qual è il ruolo principale dei ports?

Risposta

I ports sono interfacce che definiscono i contratti tra il dominio di business e il mondo esterno. I primary ports (o driving ports) consentono agli attori esterni di innescare azioni nel dominio, mentre i secondary ports (o driven ports) consentono al dominio di interagire con infrastrutture esterne come database o servizi di terze parti. Questa astrazione permette di cambiare l'implementazione senza influire sul dominio di business.

2

Che cos'è un adapter nella hexagonal architecture di Symfony?

Risposta

Un adapter è un'implementazione concreta di un port che fa da ponte tra il mondo esterno e il domain. Ad esempio, un DoctrineUserRepository è un adapter che implementa il port UserRepositoryInterface. Sul lato primary, un controller Symfony è un adapter che adatta le richieste HTTP ai use case del domain. Questa separazione consente di testare il domain in modo indipendente dall'infrastructure.

3

Nel Domain-Driven Design, qual è la caratteristica principale di un Value Object?

Risposta

Un Value Object è definito dai suoi attributi e non da un'identità. Due Value Object con gli stessi valori sono considerati uguali. Sono immutabili: qualsiasi modifica crea una nuova istanza. Ad esempio, un oggetto Email o Money sono tipici Value Object. Questa immutabilità garantisce la coerenza dei dati e facilita il ragionamento sul codice nei sistemi complessi.

4

Qual è il ruolo di un Aggregate Root in DDD?

5

Che cos'è un DTO (Data Transfer Object) e quando usarlo in Symfony?

+21 domande da colloquio

Padroneggia Symfony per il tuo prossimo colloquio

Accedi a tutte le domande, flashcards, test tecnici, esercizi di code review e simulatori di colloquio.

Inizia gratis