Thư Viện Câu Hỏi Phỏng Vấn
Tổng hợp các câu hỏi tuyển dụng thực tế theo nhiều cấp độ từ Entry đến Expert để bạn tự tin chinh phục nhà tuyển dụng.
Sự khác biệt giữa Entity và Value Object trong Domain-Driven Design (DDD) là gì? Cho ví dụ minh họa?
- Là đối tượng được định danh bằng một ID duy nhất và cố định trong suốt vòng đời của nó. Cho dù các thuộc tính khác thay đổi, Entity đó vẫn là duy nhất.
- Ví dụ:
Customer(Học viên) có ID là 1. Học viên này có thể đổi tên, đổi email nhưng ID vẫn là 1 và hệ thống vẫn xác định đó là cùng một người.
- Là đối tượng không có ID riêng và được định nghĩa hoàn toàn bởi giá trị của các thuộc tính mà nó chứa. Nếu hai Value Objects có tất cả các thuộc tính giống hệt nhau, chúng được coi là tương đương.
- Value Object là bất biến (immutable). Muốn thay đổi, ta bắt buộc phải tạo ra một thực thể Value Object mới thay thế hoàn toàn.
- Ví dụ:
Address(Địa chỉ gồm số nhà, đường, thành phố) hoặcMoney(gồm số tiền và đơn vị tệ). Nếu đổi địa chỉ giao hàng, ta gán một địa chỉ hoàn toàn mới thay vì sửa đổi từng thuộc tính của địa chỉ cũ.
Khái niệm Bounded Context trong Domain-Driven Design (DDD) là gì và tại sao nó là ranh giới quan trọng khi chia nhỏ Monolith thành Microservices?
Product trong Context "Bán hàng" (Sales) sẽ chứa thông tin về giá, khuyến mãi. Nhưng trong Context "Vận chuyển" (Shipping), Product lại chỉ quan tâm tới kích thước, cân nặng.


.png)
.png)