Domain services อธิบายได้ดีที่สุดจากสิ่งที่ไม่ได้:
- พวกเขาไม่ใช่
EntitiesหรือAggregate roots
- พวกเขาจะไม่
Value objects
- รู้โดเมนดำเนินการที่ไม่เป็นธรรมชาติพอดีเพียงหนึ่ง
Entityหรืออย่างใดอย่างหนึ่ง Value object
ตัวอย่างของการDomain serviceเป็นSaga/Process managerมันพิกัดกระบวนการระยะยาวที่เกี่ยวข้องกับหลาย ๆที่เป็นไปได้จากที่แตกต่างกันAggregate rootsBounded contexts
ที่ถูกกล่าวว่าสิ่งที่เป็นDomain serviceและวิธีการใช้งานเป็นสองสิ่งที่มุมฉาก
UserService ใน Domain Layer นั้นเป็นเพียงแค่ผู้ไกล่เกลี่ยและ / หรือส่วนหน้าของบริการทั้งสองและโครงสร้างพื้นฐานของเลเยอร์หรือมีมากกว่านั้นหรือไม่
บริการโดเมนบางอย่างเช่นUserRepository(ประกอบด้วยส่วนต่อประสานที่กำหนดไว้ในDomain layerและการนำไปปฏิบัติอย่างเป็นรูปธรรมในInfrastructure layer) สามารถนำมาใช้โดยใช้Facadeรูปแบบการออกแบบ บริการโดเมนอื่น ๆ ไม่ใช่
ไม่มีกฎที่เข้มงวดเกี่ยวกับวิธีการใช้งานนอกเหนือจากกฎสำคัญที่ว่าDomain layerจะต้องไม่ขึ้นอยู่กับเลเยอร์อื่น ๆ (และSOLID )