Code Module | کد ماژول
1.93K subscribers
357 photos
42 videos
6 files
356 links
Hello World 🌎

<> Earth is programmable if you code it </>

Group 👇🏻
@CodeModuleGap

Contact Us 👇🏻
@MrShahiin
@neoMahan
Download Telegram
‏Domain-Driven Design چیه؟ 🦦

‏Domain-Driven Design رویکردی برای توسعه نرم افزار هست که بر درک و مدل سازی حوزه اصلی کسب و کار تأکید داره، و توسط Eric Evans در کتاب اصلی خود به نام "Domain-Driven Design: Tackling Complexity in the Heart of Software" معرفی شد. DDD استراتژی‌ها و بهترین شیوه‌ها رو برای همسو کردن پروژه‌های نرم‌افزاری با نیازهای پیچیده حوزه کسب‌وکاری رو ارائه میکنه.

مفاهیم اصلی DDD ⬇️

🔵 Domain: موضوعی که برنامه فعالیت میکنه رو نشون میده و نشان دهنده کسب و کار یا فعالیت اصلی سازمان هست.

🔵 Ubiquitous Language: زبان مشترکی که همه اعضای تیم (دولوپرا، کارشناسان حوزه و... ) به اشتراک میزارن تا از ارتباطات واضح و درک مشترک از دامنه اطمینان حاصل بشه.

🔵 Bounded Context: مرزی که در اون یک مدل خاص تعریف شده و قابل اجرا هست. بخش‌های مختلف سیستم ممکنه مدل‌های متفاوتی داشته باشن، و Bounded Contexts به مدیریت روابط اون ها کمک میکنه.

🔵 Entities: اشیایی که اساساً با هویتشون تعریف میشن تا ویژگی هاشون. به عنوان مثال، یک مشتری در یک فروشگاه.

🔵 Value Objects: اشیایی که با ویژگی هاشون تعریف میشن و هویت ندارن. به عنوان مثال، یک تاریخ یا یک مقدار ارز.

🔵 Aggregates: یک خوشه ای از موجودیت ها و اشیاء که به عنوان یک واحد برای تغییرات داده ها، در نظر گرفته میشن.

🔵 Repositories: انتزاعاتی که روش هایی رو برای دسترسی و دستکاری مجموعه ها ارائه میدن و به عنوان پل، بین لایه های دامنه و داده عمل میکنن.

🔵 Services: عملیاتی که به طور طبیعی به یک موجودیت یا شی تعلق ندارن، اما برای دامنه ضروری هستن، و اون ها منطق دامنه رو کپسوله میکنن.

🔵 Domain Events: ایونت هایی که حاکی از اهمیتی هستن کخ دامنه اتفاق افتاده. اون ها برای تحریک رفتارها یا فرآیندها استفاده میشن.


به صورت کلی Domain-Driven Design یک رویکرد جامع برای توسعه نرم افزار رو ارائه میده که از نزدیک با دامنه کسب و کارشون همسو باشه. DDD روشی ساختاریافته برای مدیریت پیچیدگی‌های ذاتی در توسعه نرم‌افزار ارائه میده و تضمین میکنه که محصول نهایی واقعاً نیازهای تجاری رو منعکس و پشتیبانی کنه. برای کسب اطلاعات بیشتر مقالات زیر رو پیشنهاد میکنم.

- Article
- Article
- Article

#ddd
@CodeModule
Please open Telegram to view this post
VIEW IN TELEGRAM
7🔥3