DDD လုိေျပာရင္ software architecture ေတြ တစ္ျခား technologies ေတြနဲ႔ ေရာၾကပါတယ္။ Software တစ္ခုေရးဖုိ႔ လုိအပ္တဲ့ domain ေတြ modeling လုပ္တဲ့ methodology တစ္မ်ိဳးပါပဲ။
Domain complexity မ်ားတဲ့ software ေတြ development လုပ္တဲ့အခါမွာသံုးပါတယ္
ဥပမာ insurance software ေရးဖုိ႔ လုိအပ္တဲ့ domain knowledge ကုိ programmer တစ္ေယာက္အေနနဲ႕ ေလ့လာေနရင္ အနညး္ ဆံုး ၆လနဲ႔တစ္ႏွစ္ၾကား ေလာက္ၾကာပါလိမ့္မယ္ အဲ့ အစား insurance domain ကိုကၽြမ္းက်င္တဲ့ domain expert နဲ႔တြဲလုပ္ရင္ပုိျမန္ႏုိင္ပါတယ္
အဲ့ေတာ့ programmer နဲ႔ domain expert ၾကားအျပန္အလွန္နားလည္ႏုိင္တဲ့ ဘံု language (Ubiquitous Language) တစ္ခုကိုသံုးရပါတယ္။ Ubiquitous Language မသံုးရင္ programmer နားလည္တဲ့ class diagrams ေတြကုိ domain expert ကနားမလည္။ domain expert ေျပာတဲ့ business value ေတြကုိ programmer နားမလည္နဲ႕ communication ျပသနာျဖစ္ႏိုင္ပါတယ္။
ီီDDD ကုိလက္ေတြ႕ apply လုပ္ခ်င္ရင္ programmer ဘက္ကလည္း software design ေတြနားလည္ပီး software architecture (clean architecture) ေကာင္းေကာင္းနဲ႔ ကၽြမ္းကၽြမ္းက်င္က်င္ေရးႏုိုင္ဖုိ႔လုိပါတယ္ ႏုိ႔မုိ႕ဆုိရင္ေတာ့ဘာမွအက်ိဳးမထူးႏုိင္ပါ။