نهج يركز على تعقيد العمل (Domain) وبناء نموذج برمجي يطابقه.
يستخدم لغة موحدة (Ubiquitous Language) بين المطورين والخبراء.