domain driven design - nikamooz.com · domain driven design -تفرشیپ هرد ddd-142454 :دنس...

20
Domain Driven Design ل دوره: طو51 جلسه پنج ساعته( 51 ساعتبری و منحصربفرد کار آموزش کام) مدرس: ارومند علیرضا

Upload: duongdiep

Post on 18-Jan-2019

238 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Domain Driven Design - nikamooz.com · Domain Driven Design -تفرشیپ هرد DDD-142454 :دنس هرامش E:-حفص ؟تسیچ Bonded Context þF ره . مینک میسقت یفلتخم

Domain Driven Design پیشرفته دوره

DDD-142454شماره سند:

www.nikamooz.com

1: صفحه

Ad-Hocهای در سازمان انجام داد تهیه گزارش Data Warehouseتوان با وجود یک یکی از کارهای جالبی که میبه شدت باال است باید هنگام طراحی DWهای موجود در یک باشد. با توجه به این که حجم دادهبر روی آن می

ای توجه داشت. های اطالعاتی باید به نکات ویژهگزارشات بر روی این نوع بانک

های بزرگ حجم رکوردهای DWاشاره کرد. در Factهای موجود در جداول م دادهتوان به حجاز نمونه این نکات میبر روی این نوع جداول به شدت کند بوده Ad-Hocهای باشد تهیه گزارشموجود در این نوع جداول میلیاردی می

که شما به ویژگی جدیدی وجود دارد SQL Serverشود اما در که این موضوع باعث نارضایتی شدید کاربران می را باال ببیرد. CUBو همچنین سرعت پردازش DWاز Ad-Hocهای توانید با استفاده از آن سرعت گزارشراحتی می

میلیارد 1بیش از ی که حجم آن Factهایم استفاده کردم، جدول یکی از پروژه DWمن شخصه از این ویژگی در خود بر روی این جدول Ad-Hocهای شود. شاید باور نکنید کوئریمیلیون رکورد در آن درج می 9و روزانه بیش از رکورد است

دهد.این موضوع را نمایش می صفحه بعدشود. تصویر با سرعت باور نکردنی اجرای می

Domain Driven Design

( آموزش کامال کاربری و منحصربفردساعت 51)ساعته پنججلسه 51طول دوره: علیرضا ارومندمدرس:

Page 2: Domain Driven Design - nikamooz.com · Domain Driven Design -تفرشیپ هرد DDD-142454 :دنس هرامش E:-حفص ؟تسیچ Bonded Context þF ره . مینک میسقت یفلتخم

Domain Driven Design پیشرفته دوره

DDD-142454شماره سند:

www.nikamooz.com

2: صفحه

.گرددمی برگزار غیرحضوری و حضوری بصورت دوره این

Domain Driven Design پیشرفته آموزشی دوره هایسرفصل

1- DDD چیست؟ DDD آقای توسط که است افزارنرم توسعه جهت روشی مختصر طور به Eric Evans آن از و شد معرفی ۲۰۰۲ سال در وسعهت ابزارهای حوزه در که هاییپیشرفت با اخیر هایسال در اما. بود استفاده مورد افزارنرم توسعه دنیای در بعد به زمان

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

فلسفه با آشنایی DDD افزارنرم توسعه هایپیچیدگی و مشکالت با آشنایی چگونه DDD کند؟می کمک هاپیچیدگی مدیریت به داریم؟ راهنمایی نیز توسعه هایقسمت سایر برای یا داریم سازیپیاده جهت روشی فقط آیا مورد در رایج اشتباهات DDD

نحوه برخورد با مسئله -2 آن حصحی تحلیل و تجزیه بدون پیچیده و بزرگ هایمسئله حل

آیدنمی دست به درست تحلیل و تجزیه و. ممکن غیر است امری اریک محدوده به که افرادی با زیاد بسیار تعامالت و جلسات با مگر

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

داریم؟ مسئله تجزیه به نیاز چرا برسیم؟ مسئله صورت مورد در مشترک زبان و دانش یک به گونهچ Domain Expert چیست؟ افزارنرم توسعه در او نقش و کیست اطالعات آوریجمع جهت بهینه هایروش بررسی.

Page 3: Domain Driven Design - nikamooz.com · Domain Driven Design -تفرشیپ هرد DDD-142454 :دنس هرامش E:-حفص ؟تسیچ Bonded Context þF ره . مینک میسقت یفلتخم

Domain Driven Design پیشرفته دوره

DDD-142454شماره سند:

www.nikamooz.com

3: صفحه

چگونه بر روی مسئله اصلی تمرکز کنیم؟ -3 کار و سر کاربردی و فنی متفاوت هایمسئله صورت و مختلف هایقسمت با پیچیده و بزرگ افزارنرم یک توسعه در

این دانستن با. است مهم بسیار فرع یک کدام و است اصلی مسئله ما برای مسائل این از یک کدام اینکه اما. داریم رسیدن برای ممکن شکل بهترین به را خود انسانی و مالی هایسرمایه پیشرو و مدیر یک عنوان به توانیممی موضوع

.کنیم هدایت هدف به

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

سازی دامنهالگوهای پیاده -4 اریمد کار و سر آن با افزارنرم توسعه هنگام در که هاییپیچیدگی از یکی. است هاپیچیدگی مدیریت DDD در اصلی هدف

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

.پردازیممی الگوها این بررسی به قسمت

Rich Domain Model Anemic Domain Model Transaction Script آن معایب و مزایا و Table Module دارد؟ کاربرد زمانی چه و چیست Active Record

Page 4: Domain Driven Design - nikamooz.com · Domain Driven Design -تفرشیپ هرد DDD-142454 :دنس هرامش E:-حفص ؟تسیچ Bonded Context þF ره . مینک میسقت یفلتخم

Domain Driven Design پیشرفته دوره

DDD-142454شماره سند:

www.nikamooz.com

4: صفحه

5- Bonded Context چیست؟ هر و کنیم تقسیم مختلفی هایقسمت به را افزارنرم باشد نیاز که دارد وجود احتمال این بزرگ بسیار افزارنرم یک در

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

سمتق این در که است ایمسئله رو پیش هایچالش و کار این انجام چگونگی. برسیم جامع افزارنرم یک به تا باشند .کنیممی بررسی را آن

دارد زیادی پیچیدگی بزرگ بسیار مدل یک آن مشکالت و ها تیم بین بزرگ مدل یک اشتراک چگونگی آن ایرادات و مختلف های تیم بین در ها واژه تفاوت بزرگ بسیار مدل یک در قدیمی کدهای با کار چگونگی کنیم؟ تقسیم منسجم و کوچک های قسمت به را خود برنامه چگونه هم روی متقابل تاثیر از جلوگیری و برنامه ها قسمت محدوده تعیین Subdomainچیست؟ Bonded Context چیست؟ تفاوت BC و SD مختلف های قسمت بین ارتباط برقراری چگونگی -Shared kernel چیست؟ با آشنایی Anticorruption Layer

بندیالیه و معماری با آشنایی -6Application روش به توسعه هنگام DDD از را تکنولوژی هایپیچیدگی که شودمی داده ما به راهکارهایی

بندیالیه و معماری باید ایپروژه هر برای اما کنیم سازیپیاده درستی به و دهیم تشخیص پروژه واقعی هایپیچیدگی ونگیچگ و پروژه معماری با قسمت این در. دهیم توسعه را پروژه خوبی به آینده در بتوانیم تا باشیم داشته مناسبی

.شویممی آشنا آن انجام

پروژه معماری با کلی آشنایی شود؟می برنامه دامنه از تکنولوژی هایپیچیدگی سازیجدا به منجر خوب معماری یک چگونه الیه چند پروژه یک سازیپیاده و طراحی برنامه بندیالیه در آن نقش و وابستگی سازیمعکوس آن سازیپیاده نحوه و دامنه الیه Application Layer Service دارد؟ کاربردی چه و چیست Infrastructureشوند؟می سازیپیاده آن در هاییقسمت چه و چیست مختلف هایالیه بین ارتباط برقراری نحوه

Page 5: Domain Driven Design - nikamooz.com · Domain Driven Design -تفرشیپ هرد DDD-142454 :دنس هرامش E:-حفص ؟تسیچ Bonded Context þF ره . مینک میسقت یفلتخم

Domain Driven Design پیشرفته دوره

DDD-142454شماره سند:

www.nikamooz.com

5: صفحه

: هاValue Object با آشنایی -7 آن خواص از یک هر تغییر با و است هاآن ماهیت معرف هاآن مقدار که داریم اشیایی بعضا افزارنرم توسعه هنگام. است هاآن مقدار اشیا این شناسایی راه تنها دیگر زبان به. داریم کار و سر قبلی شی همان با بگوییم توانیمنمی دیگر

پردازیم.می اشیا از دسته این بررسی به قسمت این در و گوییممی Value Object اصالحات اشیا این به

Value object چیست؟ نقش Value Objectدر ها DDD هایویژگی با آشنایی Value Objectها سازیپیاده نحوه Value Objectها کمک به مقادیر بازیابی و ذخیره NoSqlها

8- Entityآنها سازیپیاده نحوه و ها : با هبرنام در که شویممی مواجه اشیایی و هاکالس با بعضا هستیم خود هایبرنامه تحلیل و تجزیه حال در که هنگامی

Entity مفهوم با اینجا. فروشگاهی برنامه یک در خاص مشتری یک مثل. هستند شناسایی قابل خاص مشخصه یک .پردازیممی آن سازیپیاده چگونگی و آن هاینباید و هاباید بررسی به ادامه در و. داریم کار و سر

Entity چیست؟ چگونه Entityدهیم؟ تشخیص خود برنامه در را ها تفاوت Entityبا ها Value Object ها الگوی Stateدر آن کاربرد و Entityها الگوی Memento توسعه در آن کاربرد و Entityها

Page 6: Domain Driven Design - nikamooz.com · Domain Driven Design -تفرشیپ هرد DDD-142454 :دنس هرامش E:-حفص ؟تسیچ Bonded Context þF ره . مینک میسقت یفلتخم

Domain Driven Design پیشرفته دوره

DDD-142454شماره سند:

www.nikamooz.com

6: صفحه

: هاDomain Service با شناییآ -9 یا Entity یک به مربوط که داریم کار و سر مفاهیمی با بعضا هستیم بزرگ سیستم یک توسعه حال در که زمانی

Aggregate لح را مسئله و پرداخت حل راه سازیپیاده به تنهایی به موارد این از یک هیچ با تواننمی و نیست خاص توسعه در Service کلمه فراوان کاربرد دارد وجود که اینکته اما. رویممی هاDomain Service سراغ به جا این در. کرد :هک کرد خواهیم بررسی هم با ادامه در. کندمی ایجاد مختلف مفاهیم در کلمه این کاربرد که مشکالتی و است افزارنرم

Domain Service چیست؟ هاآن هاتفاوت تشخیص و سرویس انواع بررسی از زمانی چه Domain Serviceکنیم؟می استفاده از استفاده Domain Eventها ارتباط نحوه Entity و ها Domain Serviceها هاسرویس توسعه برای پرکاربرد الگوهای

11- Domain Event چیست؟ و شویم آشنا خوبی به سیستم رخدادهای با که صورتی در شویممی متوجه مرور به داریم کار و سر DDD با که هنگامی

ام برنامه دامنه در که رخدادهایی. داشت خواهیم بهتری افزارنرم باشیم داشته رخدادها این مدیریت برای بهینه حلراه هاDomain Expert با تعامل در که دستاوردهایی از یکی. نامیممی Domain Event اصالحات را افتندمی اتفاق

.بود خواهد رخدادها همین از مناسب اطالعات آوردن دست به داشت خواهیم

با آشنایی Domain Event Domain Eventدارند عهده به ای وظیفه چه ها نقش Domain Eventدر ها Domain نقش Domain Event در Application نت دات در هارخداد کمک سازی پیاده In memory Bus از استفاده Ioc Container سازی پیاده برای Domain Event

Page 7: Domain Driven Design - nikamooz.com · Domain Driven Design -تفرشیپ هرد DDD-142454 :دنس هرامش E:-حفص ؟تسیچ Bonded Context þF ره . مینک میسقت یفلتخم

Domain Driven Design پیشرفته دوره

DDD-142454شماره سند:

www.nikamooz.com

7: صفحه

11- Aggregateآن کاربردهای و : برای که نسیتند هاValue Object و هاEntity فقط که شد خواهیم متوجه هستیم افزارنرم توسعه حال در که هنگامی

یجادا روابط این که هاییپیچیدگی و اشیا بین روابط بعضا بلکه. کنند حل را ما مسئله توانندمی و دارند اهمیت ما . شودمی سازیپیاده و طراحی هاAggregate کمک به ما برای روابط این. کندمی پیدا اهمیت ما برای هم کنندمی

اشیا بین روابط با کار هنگام پیچیدگی با برخورد چگونگی چرا Aggregateدارند؟ اهمیت ما برای ها Aggregate rootچیست؟ وظایف با آشنایی Aggregate root در روابط انواع بررسی Aggregateها بازیابی و ذخیره نحوه Aggregateها

12- Factoryو ها Repositoryدر هاآن کاربرد و ها DDD مرور به و داریم کار و سر هاAggregate و هاValue Object هاEntity با هستیم افزارنرم توسعه حال در که هنگامی

هاییسئلهم صورت از یکی مرور به مسلما و. شودمی بیشتر نیز اجزا این تنیدگی هم در و تعداد شود بزرگتر ما برنامه چه هر .باشدمی اجزا این از سازینمونه جهت مناسب حل راه ارائه شویممی مواجه آن با که

شود؟ می جدا استفاده از سازینمونه چگونه الگوی از استفاده Factory Method جدید نمونه ایجاد برای از استفاده Factory Method نمونه سازی باز جهت از زمانی چه Factory کنیم؟می استفاده Repository چیست؟ ما برنامه در آن نقش و چیست مورد در رایج اشتباهات بررسی Repository Domain Model با تفاوتی چه و چیست Data Modelدارد؟ اطالعات سازیذخیره هایورکفریم با آشنایی

Page 8: Domain Driven Design - nikamooz.com · Domain Driven Design -تفرشیپ هرد DDD-142454 :دنس هرامش E:-حفص ؟تسیچ Bonded Context þF ره . مینک میسقت یفلتخم

Domain Driven Design پیشرفته دوره

DDD-142454شماره سند:

www.nikamooz.com

8: صفحه

11- Event Sourcing و افزاریسخت نیازهای. بوده اصلی مسئله افزارهانرم در همیشه که است هایینیاز از تغییرات تاریخچه نگهداری

. ودش بزرگ پروژه یک موفقیت یا شکست موجب تواندمی خوب تاریخچه یک سازیپیاده برای افزارنرم هایپیچیدگی به ادامه در که است Event Sourcing گیردمی قرار استفاده مورد تاریخچه این نگهداری جهت که هاییروش از یکی

.پردازیممی آن جزئیات بررسی

با آشنایی Event Sourcing کند؟می حل ما برای را مسائلی چه یک چگونه Event Store باشیم؟ داشته از استفاده SQL و NoSQLتاریخچه نگهداری برای ها رابطه بررسی Event Sourcing با CQRS

14- CQRS سازیپیاده صورت در تواندمی که اطالعات واکشی از سازیذخیره روال سازیجد جهت هاالگو ترینساده از یکی

.کند کمک بسیار برنامه سازیبهینه به صحیح

اطالعات واکشی و سازی ذخیره تنیدگی هم در مشکالت شود؟ جدا واکشی از سازی ذخیره باید چرا واکشی از ذخیره سازی جدا نحوه آیا CQRS است؟ پیچیده از استفاده به اجباری آیا CQRS با همزمان Event Sourcing است؟ است؟ ضروری پیچیده ابزارهای از استفاده

DDD در گیری گزارش -15 شاغلم کامپیوتری سازی پیاده شاید ابتدا در مشاغل مشکالت. شوندمی ایجاد مشاغل مشکالت حل برای افزارهای نرم

زارشگ دریافت عظیم؛ ای داده های پایگاه و کامپیوتری سیستم داشتن اختیار در به توجه با ادامه در اما. باشد دستی .برسند خود اهداف به بهتر و تر سریع هرچه تا کند کمک مشاغل صاحبان و کارفرمایان به تواندمی کاربردی های

نیز گوناگونی هایروش دارد؛ وجود کامپیوتری صورت به وظایف سازی پیاده جهت مختلفی هایروش که همانگونه .پرداخت خواهیم ها آناز یک هر بررسی به قسمت این در که دارد وجود ها سامانه از گزارش و خروجی تهیه جهت

نباشد؟ برنامه دامنه ساختار به وابسته که کنیم تهیه هاییگزارش چگونه گزارش ساخت جهت موجود هایسرویس از استفاده دامنه هایپیچیدگی از خارج و داده پایگاه روی از مستقما بهینه هایگزارش ایجاد

Page 9: Domain Driven Design - nikamooz.com · Domain Driven Design -تفرشیپ هرد DDD-142454 :دنس هرامش E:-حفص ؟تسیچ Bonded Context þF ره . مینک میسقت یفلتخم

Domain Driven Design پیشرفته دوره

DDD-142454شماره سند:

www.nikamooz.com

9: صفحه

از استفاده Event Sourcing گزارش هئارا جهت آن مشخصات و کاربردی و زیبا گزارش یک ساخت مناسب مدیریتی هایداشبورد طراحی با صفحه یک در کامل دید یک ارائه

میکروسرویس با آشنایی -16 سرویس بر مبتنی هایسیستم تاریخچه هاآن معایب و مزیا و یکپارچه هایسیستم معرفی معرفی SOA افزارنرم دنیای روز هاینیاز به پاسخ هامیکروسرویس است؟ حل قابل هامیکروسرویس معرفی با مسائلی چه

میکروسرویس دهنده تشکیل اجزای با آشنایی -17 چیست؟ سرویس هاسرویس بین ارتباط برقراری نحوه پذیریمقیاس و شده توزیع هایسیستم بررسی هاآن با برخورد نحوه و دارد وجود قدیمی هایسیستم با کار هنگام که مشکالتی الیه بررسی API شده توزیع هایسیستم در خطایابی و الگ بررسی به معماری این در چرا Continuous Delivery داریم؟ نیاز هیبرید هایسیستم سازیپیاده و طراحی

کنیم؟ تعیین را هاسرویس محدوده چگونه -18 داریم؟ دهیخدمات محدوده تعیین به نیاز چرا از استفاده Bounded Context و Ubiquitous Languageهاسرویس محدوده تعیین برای

میکروسرویس API-Based سازیپیاده و طراحی -19 معماری با آشنایی API هاآن سازیپیاده و نیاز مورد هایعملکردهای تشخیص معماری برای روپیش هایگزینه با آشنایی از استفاده REST آن معایب و مزایا و Restful API آن سازیپیاده نحوه با آشنایی و الگوی از استفاده Facade هاسرویس سازیپیاده و طراحی در

Page 10: Domain Driven Design - nikamooz.com · Domain Driven Design -تفرشیپ هرد DDD-142454 :دنس هرامش E:-حفص ؟تسیچ Bonded Context þF ره . مینک میسقت یفلتخم

Domain Driven Design پیشرفته دوره

DDD-142454شماره سند:

www.nikamooz.com

11: صفحه

21- Data Consistency هامیکروسرویس در مفهوم با آشنایی Consistency برای هاییانتخاب چه Consistency داریم؟ Tow phase Commit شود؟می سازیپیاده چگونه و چیست الگوی با آشنایی Saga آن سازیپیاده نحوه و مفهوم با آشنایی Eventual Consistency آن به دستیابی و

هاسرویس به دسترسی مرکز -21 API Gateway دارد؟ کاربردی چه و چیست از مثالی API Gateway ابزارهای معرفی API Gateway

هامیکروسرویس در مانیتوریگ -22 مانیتورینگ مفاهیم با آشنایی کنیم؟ مانیتور را هاییویژگی چه سیستم وقایع از رسانیاطالع نحوه و مانیتورینگ مانیتورینگ ابزارهای با آشنایی سرفصل Design Patterns

Design Patterns نویسبرنامه یک وظیفه ترینمهم و کنیم حل را زیادی مشکالتی و مسائل باید افزارینرم هایسیستم توسعه طول در

در که دارد وجود مواردی بعضا داریم کار و سر هاآن با که اختصاصی مسائل کنار در اما. است هاچالش و هامسئله حل حل راه یک داشتن اما. داد ارائه هاآن برای توانمی مختلفی هایحل راه و هست سوال صورت مختلفی هایبرنامه لگوهایا حل راه این به که کند کمک نگهداری و توسعه قابل و تمیز ایبرنامه داشتن در را ما تواندمی استاندارد و بهینه

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

:افزارنرم طراحی الگوهای با آشنایی -23 .دارد وجود برنامه گرایشی توسعه برای اصولی و الگوها چه بینیممی و شویممی آشنا کلی مفاهیم با ابتدا در گرایی شی مفاهیم بر مروری افزار نرم طراحی الگوهای بر مروری

Page 11: Domain Driven Design - nikamooz.com · Domain Driven Design -تفرشیپ هرد DDD-142454 :دنس هرامش E:-حفص ؟تسیچ Bonded Context þF ره . مینک میسقت یفلتخم

Domain Driven Design پیشرفته دوره

DDD-142454شماره سند:

www.nikamooz.com

11: صفحه

الگوهای معرفی GOF الگوهای معرفیEA اصولSOLID چیست؟ معرفی Single Responsibility معرفی Open Close Principle Liskov Substitution Principle معرفی معرفی Interface Segregation معرفی Dependency Inversion Principle سادگی اصل با آشنایی Kiss Yagni

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

Singleton کندمی کار چگونه و چیست کمک به کالس ایجاد Builder Factory Method Abstract Factory Factory Method ساختاری الگوهای از استفاده Adapter برنامه در استفاده قابل ساختاری به کالس ساختار تبدیل برای کمک به سازی جدا Bridge کمک به درختی ساختارهای ایجاد Composite Decorator داینامیک صورت به اشیا به قابلیت افزودن و Façade پیچیده سیستم چندین با کارکرد سازی ساده Flyweight اشیا زیاد تعداد با کار برای روشی کمک به دسترسی کنترل Proxy اصلی شی برای جانشین یک تعیین و رفتاری الگوهای Chain of Responsibility الگوی از استفاده Command Interpreter گر ترجمه الگوی یا Iterator ای دسته پیمایش دستابی برای بهینه روشی Mediator اشیا بین ارتباطی راه برقراری Memento اشیا وضعیت بازیابی و ذخیره برای روشی

Page 12: Domain Driven Design - nikamooz.com · Domain Driven Design -تفرشیپ هرد DDD-142454 :دنس هرامش E:-حفص ؟تسیچ Bonded Context þF ره . مینک میسقت یفلتخم

Domain Driven Design پیشرفته دوره

DDD-142454شماره سند:

www.nikamooz.com

12: صفحه

Observer State Pattern داخلی وضعیت به توجه با سیستم عملکرد تعیین Strategy ادد تغییر گیردمی قرار استفاده مورد جائیکه به توجه بدون را الگوریتم یک تا دهدمی اجازه استراتژی. Template Method سازی پیاده برای کار انجام الگوریتم و ساختار تعیین Visitor ار کندمی عمل آن روی بر که عناصری کالسهای تغییر به نیاز بدون جدیدی عمل تا دهدمی اجازه الگو این

کنید تعریف

دوره الگوهای سایر-52 Specification ترکیب و سازیکپسوله جهت روشی Business Logicها Null Object Multiunit شده ایجاد هاینمونه به دسترسی نحوه کنترل و سازینمونه کنترل جهت روشی Object Pool را گینسن اشیا بتوانیم که باشیم داشته روشی باید هستند گیرزمان همیشه سنگین اشیا ساخت

دهیم قرار استفاده مورد مجدد Service Locator Repository برنامه در هاآن کاربرد نحوه از هاداده به دسترسی سازی جدا جهت داده مخزن ایجاد Unit of Work

Page 13: Domain Driven Design - nikamooz.com · Domain Driven Design -تفرشیپ هرد DDD-142454 :دنس هرامش E:-حفص ؟تسیچ Bonded Context þF ره . مینک میسقت یفلتخم

Domain Driven Design پیشرفته دوره

DDD-142454شماره سند:

www.nikamooz.com

13: صفحه

مدرس دوره علیرضا ارومند کیست؟ .کندای در دنیای دات نت فعالیت میسال بصورت کامال حرفه 5۲علیرضا ارومند مدرس این دوره است که بیش از

علیرضا ارومند هم اکنون به عنوان مدیر فنی خبرگزاری نسیم و همکاری با تیم توسعه شرکت ارتباط فردا )بانک .آینده( مشغول است

ASP .NET Core MVC سخنران تنها همایش مورد تایید مایکروسافت در خاورمیانه در حوزه .1 کوتاه نسیم )برنده جشنواره وب ایران(مدیر فنی خبرگزاری بین المللی پیام .2 در نیک آموز Dot Net ،ASP.NET مدرس دوره های.3 همکاری با تیم توسعه شرکت ارتباط فردا )وابسته به بانک آینده(.4 کارشناس ارشد و معمار نرم افزار شرکت هایپرمدیا.5 ارهای آنالین بورس شرکت تدبیرپردازکارشناس توسعه نرم افز.6 های اداری مرکزتحقیقات ساختمان و مسکن وزارت مسکنمعمار نرم افزار و توسعه دهنده سیستم.7 معاون وزیر مسکن و شهرسازی در مرکزتحقیقات ساختمان و مسکن IT مشاور.8 مرکز تحقیقات ساختمان و مسکن نویسیافزار برای تیم برنامهشارپ و معماری نرمبرگزاری دوره آموزش سی.9 .نویسی وب برای تیم فنی خبرگزاری بین المللی نسیمبرگزاری دوره آموزش برنامه.11 در شرکت هایپر مدیا Entity Framework برگزاری دوره آموزش.11 های آموزشی برنامه نویسی در دانشگاه پیام نوربرگزاری دوره.12 مباحث فوق پیشرفته برنامه نویسی وب و سی شارپ و ASP.NET متخصص، مدرس و مشاور.13

Page 14: Domain Driven Design - nikamooz.com · Domain Driven Design -تفرشیپ هرد DDD-142454 :دنس هرامش E:-حفص ؟تسیچ Bonded Context þF ره . مینک میسقت یفلتخم

Domain Driven Design پیشرفته دوره

DDD-142454شماره سند:

www.nikamooz.com

14: صفحه

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

از دسکتاپ مدرس فیلمبرداری خواهد شد و بعد از میکس در اختیار دوستان در این دوره هم از محیط کالس و هم .شرکت کننده )حضوری و غیرحضوری( قرار خواهد گرفت

کنید!؟اگر خارج از تهران هستید یا ُپرمشغله هستید چرا در دوره غیرحضوری شرکت نمیثبت نام کنید، کالس را زنده ببینید و فیلم با اگر خارج از تهران هستید، اگر ُپرمشغله هستید: بصورت غیرحضوری

.ای به همراه جزوات کامال رنگی و دستورالعمل اجرا دریافت کنیدکیفیت فوق حرفه

Page 15: Domain Driven Design - nikamooz.com · Domain Driven Design -تفرشیپ هرد DDD-142454 :دنس هرامش E:-حفص ؟تسیچ Bonded Context þF ره . مینک میسقت یفلتخم

Domain Driven Design پیشرفته دوره

DDD-142454شماره سند:

www.nikamooz.com

15: صفحه

این دوره مناسب چه کسانی است؟

های ذیل است.شامل دورهپیش نیاز این دوره،

(ASP.NET Core MVC) و وب طراحی آموزش Full Stack .NET Developer دوره -1 پیشرفته ASP.NET Core MVC آموزش دوره -2 Modern Data Layer: غیرحضوری دوره -3

دوره حضوری با دوره غیرحضوری چه فرقی دارد؟شود و این دو با هم از محیط کالس و دسکتاپ مدرس فیلمبرداری می دوره غیرحضوریدر

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

.داشت

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

:برای شما پیش آمده است

کنید؟ مطرح را خود سوال تا کنید صبر هفته یک باید آیا

کنید؟ صحبت مدرس با و کنید تلفن باید آیا -1 بزنید؟ ایمیل باید آیا -2

مشکل شما به راحتی VIP تنها با پرسیدن در گروه تلگرامیآب خوردن توسط مدرس و سایر دوستان دیگر حل خواهد

!شد. از دوره لذت ببرید

Page 16: Domain Driven Design - nikamooz.com · Domain Driven Design -تفرشیپ هرد DDD-142454 :دنس هرامش E:-حفص ؟تسیچ Bonded Context þF ره . مینک میسقت یفلتخم

Domain Driven Design پیشرفته دوره

DDD-142454شماره سند:

www.nikamooz.com

16: صفحه

و زنده دوره برای افراد غیرحضوری Live نمایشه زنده مشاهدتوانند دسکتاپ و صدای مدرس را به صورت کامال اند میدوستانی که بصورت غیرحضوری ثبت نام کرده

.کنند. در هر کجای جهان هستید بدون هیچ محدودیتی در کالس باشید

Page 17: Domain Driven Design - nikamooz.com · Domain Driven Design -تفرشیپ هرد DDD-142454 :دنس هرامش E:-حفص ؟تسیچ Bonded Context þF ره . مینک میسقت یفلتخم

Domain Driven Design پیشرفته دوره

DDD-142454شماره سند:

www.nikamooz.com

17: صفحه

زمان برگزاری دوره )کل دوره در یک نگاه( Domain Driven Design پیشرفته دوره: عنوان دوره

نویسانبرنامه: مخاطبین نفر 21:ظرفیت کالس

تمرین کالسی وساعت( 75 )جمعا ساعتهجلسه پنج 2هر ماه :طول دوره دارای گروه تلگرامی اختصاصی است :پشتیبانی

گرددبه زودری اعالم می :روز برگزاری گرددبه زودی اعالم می :شروع دوره

گرددبه زودی اعالم می :ساعت دوره چهارم )طبقه چهارم(، دفتر نیک آموز، زنگ 31، پالک 33تهران، یوسف آباد، خیابان اسدآبادی، میدان فرهنگ، خیابان :محل دوره

مترو فاطمی )جهاد( :نزدیکترین مترو فرید طاهری مدیریت نیک آموز :مدیریت دوره

علیرضا ارومند :مدرس

:مشاهده آدرس روی گوگل مپ

https://goo.gl/maps/1xWwQiTd4rr

Page 18: Domain Driven Design - nikamooz.com · Domain Driven Design -تفرشیپ هرد DDD-142454 :دنس هرامش E:-حفص ؟تسیچ Bonded Context þF ره . مینک میسقت یفلتخم

Domain Driven Design پیشرفته دوره

DDD-142454شماره سند:

www.nikamooz.com

18: صفحه

(درصد تخفیف بگیرید 11درصد پرداخت کنید و 11) دوره مبلغ :شرایط حضوری

.شرکت در کالس حضوری و پذیرایی :حضور در کالسساعت آموزش ویدئویی کالس، تمرین اضافی، جزوات رنگی، صوت دوره، 75 ، شامل DVD عدد 15 :محتوای حضوری

PDFها، تمرین هزار ناموت دو میلیون و پانصد :مبلغ سرمایه گذاری حضوری

( و مابقی را در سه قسط پرداخت کنید درصد از کل مبلغ را پرداخت نمایید 11هزار ناموت یعنی 251)

:شرایط غیرحضوریساعت آموزش ویدئویی کالس، تمرین اضافی، جزوات رنگی، صوت 75 ، شامل DVD عدد 15: محتوای غیرحضوری

PDFها، دوره، تمرین .قابل مشاهده استدسکتاپ و صدای مدرس، بصورت زنده و آنالین Live: مشاهده

.گرددهر دو هفته یکبار )هر دو جلسه( با پست سفارشی بصورت رایگان ارسال می :نحوه دریافت هزار ناموت دو میلیون و دویست :مبلغ سرمایه گذاری غیرحضوری

( و مابقی را در سه قسط پرداخت کنید درصد از کل مبلغ را پرداخت نمایید 11هزار ناموت یعنی 221)

گردد تا ها و سایر موارد بعد از میکس و چند روز بعد از برگزاری کالس برای تمامی دوستان ایمیل میفیلم .شرکت کنندگان با دوره هماهنگ جلو بروند

آیا مبلغ دوره مناسب است!؟اختصاصی است که به نظر من مبلغ دوره بسیار، بسیار ارزان و مناسب است، این دوره دارای تمرین و سناریوهای کامال

توانید از آن استفاده نمایید. همچنین شما پشتیبانی البته مدرس از تجربیات ارزشمند خود در کل دوره خواهد گفت که می .یک گروه اختصاصی تلگرامی را نیز خواهید داشت

Page 19: Domain Driven Design - nikamooz.com · Domain Driven Design -تفرشیپ هرد DDD-142454 :دنس هرامش E:-حفص ؟تسیچ Bonded Context þF ره . مینک میسقت یفلتخم

Domain Driven Design پیشرفته دوره

DDD-142454شماره سند:

www.nikamooz.com

19: صفحه

برابری پول 2گارانتی برگشت

برابری پول 2این دوره دارای گارانتی برگشت شما با شرکت در این دوره هیچ چیزی را از دست نخواهید داد، چون .است

Page 20: Domain Driven Design - nikamooz.com · Domain Driven Design -تفرشیپ هرد DDD-142454 :دنس هرامش E:-حفص ؟تسیچ Bonded Context þF ره . مینک میسقت یفلتخم

Domain Driven Design پیشرفته دوره

DDD-142454شماره سند:

www.nikamooz.com

21: صفحه

نحوه ثبت نام در دوره به چه شکل است؟ .توانید در این دوره ثبت نام کنیدشما به دو صورت حضوری و غیرحضوری می

:ثبت نام بصورت حضوری

.برای شرکت در دوره حضوری، لطفا بر روی دکمه زیر کلیک کنید -1

را انتخاب نمایید. نام حضورینوع ثبت -2 را تیک بزنید Domain Driven Designهای مورد نظر دوره از بین دوره -3 را پرداخت کنید. مشخص شدهمبلغ -4 اید.نام کنندگان حضوری قرار گرفتهشما در لیست ثبت -5

:ثبت نام بصورت غیرحضوری .ابتدا بر روی دکمه زیر کلیک کنید -1

نمایید.ام غیرحضوری را انتخاب نوع ثبت -1 را تیک بزنید Domain Driven Designهای مورد نظر دوره از بین دوره -2 مبلغ مشخص شده را پرداخت کنید. -3 اید.نام کنندگان حضوری قرار گرفتهشما در لیست ثبت -4

دفتر نیک آموز ، زنگ چهارم )طبقه چهارم(،35، پالک 33تهران، یوسف آباد، خیابان اسدآبادی، میدان فرهنگ، خیابان آدرس دفتر:

۰۲5 - 22۰85112 | ۰۲5 – 22۲5۲288 :تماس شماره ۰۲5 - ۸3218۸۲5 :فکس شماره ۰85۰۸۰۰8۲۰8 :فروش واحد موبایل شماره