Symfony

Kiến trúc Symfony

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

24 câu hỏi phỏng vấn·
Senior
1

Trong hexagonal architecture, vai trò chính của ports là gì?

Câu trả lời

Ports là các interface định nghĩa hợp đồng giữa business domain và thế giới bên ngoài. Primary ports (hay driving ports) cho phép các tác nhân bên ngoài kích hoạt các hành động trong domain, trong khi secondary ports (hay driven ports) cho phép domain tương tác với hạ tầng bên ngoài như cơ sở dữ liệu hoặc dịch vụ bên thứ ba. Sự trừu tượng này cho phép thay đổi cách triển khai mà không ảnh hưởng đến business domain.

2

Adapter trong hexagonal architecture của Symfony là gì?

Câu trả lời

Adapter là một triển khai cụ thể của một port, làm cầu nối giữa thế giới bên ngoài và domain. Ví dụ, DoctrineUserRepository là một adapter triển khai port UserRepositoryInterface. Ở phía primary, một controller Symfony là một adapter chuyển đổi các request HTTP thành các use case của domain. Sự tách biệt này cho phép kiểm thử domain độc lập với infrastructure.

3

Trong Domain-Driven Design, đặc điểm chính của một Value Object là gì?

Câu trả lời

Một Value Object được định nghĩa bằng các thuộc tính của nó, không phải bằng một định danh. Hai Value Object có cùng giá trị được coi là bằng nhau. Chúng là bất biến: bất kỳ thay đổi nào cũng tạo ra một instance mới. Ví dụ, một đối tượng Email hoặc Money là các Value Object điển hình. Tính bất biến này đảm bảo tính nhất quán của dữ liệu và giúp suy luận về mã dễ dàng hơn trong các hệ thống phức tạp.

4

Vai trò của một Aggregate Root trong DDD là gì?

5

DTO (Data Transfer Object) là gì và khi nào sử dụng nó trong Symfony?

+21 câu hỏi phỏng vấn

Nắm vững Symfony cho lần phỏng vấn tiếp theo

Truy cập tất cả câu hỏi, flashcards, bài kiểm tra kỹ thuật, bài tập code review và mô phỏng phỏng vấn.

Bắt đầu miễn phí