طراحی دامنه محور یا Domain Driven Design در سال‌های اخیر تبدیل به یکی از راهکارهای مهم در تولید نرم‌افزارهای بزرگ سازمانی شده است. مطلب زیر چکیده مقدمه مارتین فاولر بر کتاب طراحی دامنه محور از اریک اوانس است که به اهمیت مدل دامنه می پردازد.

موارد زیادی هستند که فرایند توسعه نرم افزار را پیچیده میکنند، با این وجود قلب این پیچیدگی ها، پیچیدگی دامنه مساله است. اگر بخواهید یک نرم افزار سازمانی بنویسید، نرم افزار شما نمیتواند از حل این پیچیدگی طفره رود، تمام کاری که باید انجام دهد کنترل این پیچیدگی است.

کلید کنترل این پیچیدگی، داشتن یک مدل دامنه خوب است که بتواند از مفاهیم سطحی دامنه عبور کند و به مفاهیم سطوح پایین تر نیز بپردازد. با رسیدن به این مدل برنامه نویس هم میتواند به آنچه که نیاز دارد دست پیدا کند. البته این اتفاق بسیار سخت به دست خواهد آمد.

نکته مهم در مدلسازی دامنه این است که شما نباید مفاهیم را از پیاده سازی جدا کنید. یک مدلساز دامنه خوب صرفا مانند یک حسابدار با وایت برد طرف نیست، بلکه بایستی بتواند مثلا کد جاوا هم بنویسد. زیرا شما نمیتوانید بدون در نظر گرفتن جزییات پیاده سازی، یک مدل خوب و کاربردی طراحی نمایید. با این وجود دلیل اصلی که طراحی و پیاده سازی بایستی باهم باشند این است که مهم‌ترین ارزش آفرینی یک مدل دامنه این است که زبانی را فراهم می نماید که تکنولوژیست ها و خبره های دامنه و بیزنس را به هم ربط می دهد.

نکته مهم دیگر در طراحی مدل دامنه، توجه به این نکته است که مدل، طراحی و سپس ساخته نمی‌شود بلکه به مرور تکامل پیدا می‌کند. حتی بسیاری از مدلسازهای حرفه ای مدل دامنه، بهترین ایده را پس از نسخه اولیه سیستم به دست می آورند.

طراحی دامنه محور بر اساس دو فرضیه شکل میگیرد:

  • برای اغلب پروژه های نرم افزاری، تمرکز بایستی بر روی دامنه و منطق دامنه باشد.
  • طراحی دامنه بایستی مبتنی بر یک مدل باشد

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد.