سلام دوستان برای اینکه وبینار بهتری کنار هم داشته باشیم این کانال ایجاد شده. تا جایی که امکانش هست تمام این وبینار ها رایگان خواهد بود
بیش از 100 نفر تو پرسشنامه شرکت کردند که جا داره از همه دوستان بابت لطف و اعتمادی که نسبت به بنده دارند تشکر کنم. موضوعی که بیشتر افراد روش اتفاق نظر داشتند DDD و Microservice architecture بود که بنظرم خوبه که با Microservice architecture شروع کنیم و مطمئنم که بحث و موضوعات جالبی رو میتونیم در موردش داشته باشیم. پلتفرمی که برای وبینار انتخاب کردم Discord هست که لینکش رو اینجا براتون میذارم. اگه نظر یا پیشنهادی دارید حتما با من از طریق آیدی تلگرام @BoB_Tm در میون بذارید. ممنونم
ترجیحتون برای زمان وبینار کدوم یک از زمان های زیر هست؟
Anonymous Poll
44%
سه شنبه ساعت ۲۰:۰۰
56%
پنجشنبه ساعت ۱۷:۰۰
چالش ها و سوالاتی رو که در مورد Microservice Architecture دارید تو قسمت کامنت ها بنویسید
#fun
یکی از مشکلاتی که اپلیکیشن های monolithic دارند اینه که حل یک مشکل باعث بوجود اومدن مشکلات بیشتر میشه. یک تار عنکبوت رو در نظر بگیرید که اگه یک سمتش تکون بخوره سمت کاملا مخالفش هم تحت تاثیر اون تکون قرار میگیره
در فلسفه نرم افزار لغتی وجود داره به اسم Cohesion (معنی فارسیش میشه انسجام که بنظرم حق مطلب رو خوب ادا نمیکنه). یک سرویسی که یک کار مشخص رو به خوبی انجام میده بعنوان High Cohesion تعریف میشه. توسعه و نگهداری و فهم چنین سرویسی کار بسیار ساده ای هست و از طرفی دیباگ چنین کدی کار بسیار ساده و لذت بخشی میشه.
در مقابل low cohesion وجود داره. مثلا در یک اپلیکشین monolithic یک class library رو در نظر بگیرید که هزارتا کار مختلف رو انجام میده و اصلا مشخص نیست که چه کاری رو چجوری داره انجام میده( اوضاع جایی بدتر میشه که ما این وسط hidden dependency هم داشته باشیم. و شمای برنامه نویس ناخودآگاه یک کلاس یا متدی رو دستکاری کنی که چنتا کلاس دیگه وابسته بهش بودن و شما روحت هم از این قضیه خبر نداشته)
یکی از مشکلاتی که اپلیکیشن های monolithic دارند اینه که حل یک مشکل باعث بوجود اومدن مشکلات بیشتر میشه. یک تار عنکبوت رو در نظر بگیرید که اگه یک سمتش تکون بخوره سمت کاملا مخالفش هم تحت تاثیر اون تکون قرار میگیره
در فلسفه نرم افزار لغتی وجود داره به اسم Cohesion (معنی فارسیش میشه انسجام که بنظرم حق مطلب رو خوب ادا نمیکنه). یک سرویسی که یک کار مشخص رو به خوبی انجام میده بعنوان High Cohesion تعریف میشه. توسعه و نگهداری و فهم چنین سرویسی کار بسیار ساده ای هست و از طرفی دیباگ چنین کدی کار بسیار ساده و لذت بخشی میشه.
در مقابل low cohesion وجود داره. مثلا در یک اپلیکشین monolithic یک class library رو در نظر بگیرید که هزارتا کار مختلف رو انجام میده و اصلا مشخص نیست که چه کاری رو چجوری داره انجام میده( اوضاع جایی بدتر میشه که ما این وسط hidden dependency هم داشته باشیم. و شمای برنامه نویس ناخودآگاه یک کلاس یا متدی رو دستکاری کنی که چنتا کلاس دیگه وابسته بهش بودن و شما روحت هم از این قضیه خبر نداشته)