Các bác ơi khi nào nên sử dụng “domain driven design” vs “layered architecture” ạ ?
Nếu kết hợp thì tuân theo nguyên tắc nào là hợp lý ?
Nếu coi layer là các thanh ngang còn domain là thanh dọc, thì em chưa biết chọn hình thù nào ạ
Các bác ơi khi nào nên sử dụng “domain driven design” vs “layered architecture” ạ ?
Nếu kết hợp thì tuân theo nguyên tắc nào là hợp lý ?
Nếu coi layer là các thanh ngang còn domain là thanh dọc, thì em chưa biết chọn hình thù nào ạ
“vs” là “với”, hay là cậu muốn so sánh 2 concept đó vậy?
Cậu hoàn toàn có thể sử dụng DDD như phương pháp thiết kế (tập trung vào domain trước), áp dụng các pattern của DDD (repository, service, entity…) và sử dụng một layer architechture nào đó để xây dựng phần mềm xuyên suốt. Cậu hoàn toàn có thể (và nên, vì đó là cách sử dụng DDD tốt nhất) sử dụng DDD với 1 layer architect nào đó (thường là Onion architechture, hoặc Clean architechture).
Nếu cậu coi layer là các thanh ngang, domain sẽ chỉ là 1 layer (cậu có thể gọi nó là domain layer).
Hope it helps!