سلام استاد یک جا به ما گفتن برنامه modular شده نیاز بازار کار هست این مفهمومش چیه؟ یعنی ما از این https://github.com/nWidart/laravel-modules براش استفاده کردیم . آیا این درسته ؟ یا همون سرویس که میزنیم خودش modular شده هست ؟
استاد دقیقا راجب ماژول بندی کردن برنامه و اینکه کی استفاده میشه؟ و اینکه چرا تو این دوره هر قسمت رو به اون شکل ننوشتید هم توضیح بدید.
ممنون
MohammadMoghadasi۰۸ مرداد ۱۳۹۸، ۲۱:۰۱
سلام ...
یک نوع طراحی وجود داره به نام Modular design که شما تمامی قسمتهای یک برنامتون شامل فایلهای مربوط به routing , controllers , views و همه رو داخل یک دایکتوری یا اصطلاحا ماژول قرار میدید و مثلا برای اون قسمت به خصوص اگه مشکلی یا هر اتفاق خاص دیگه ای بیوفته توی همون قسمت حل میشه ...
اون اکانت گیت هاب هم یک پکیج هستش که شما با استفاده از اون میتونید این معماری رو راحتتر پیاده سازی کنید .. یکسری دستورات artisan داره که برای ساخت ماژولها کار شما رو راحتتر میکنه ...
این موضوع هم که الان نیاز بازار کار این نوع طراحی هست .. خیر به اینصورت نیست ... تقریبا من جایی ندیدم از این نوع طراحی استفاده کنند ... موضوع دیگه ای که در مورد طراحی وجود داره اینه که شما باید با توجه به حجم کاری که میخواید انجام بدید یک نوع طراحی رو انتخاب کنید ... به عنوان مثال معماری میکروسرویس باید در جای درست استفاده بشه و زمانی استفاده بشه که قسمتهای مختلف و بزرگی دارید که بنا به دلایل امنیتی و یا performance اونها رو جدا کردید .. معماری میکروسرویس معماری خیلی خوبی هستش ولی در جای درست ... چون اون هم دردسر نگه داری و خیلی مسائل دیگش زیاد هست ... تعداد خیلی زیادی طراحی وجود داره که میتونید راجع به اونها بخونید و در جای درست استفاده کنید ...
این معماری که ما در حال حاضر داریم استفاده میکنیم معماری MVC هستش یا یک مقدار تغییرات که ما به جای اینکه منطق برنامه خودمون رو داخل Modelها پیاده سازی کنیم داخل Service پیاده سازی میکنیم و تا حدود کمی نزدیکش میکنیم به SOA ... این روش برای برنامههای لاراول تقریبا بیشترین استفاده رو داره ....
در مجموع طراحیهای زیادی وجود داره که میتونید ازشون استفاده بکنید و داخل پروژه پیاده سازی بکنید ... لینک زیر یک سری از پروژههای open source لاراول هستش که هرکدوم طراحی خاص خودشون رو دارن ... میتونید اونها رو مشاهده کنید تا با طراحیهای مختلف آشنا بشید ..
ما قراره تو شرکت n عدد بروژه داشته باشیم و n عدد ماژول بینشون مشترکه مثلا برای سرویس auth خودش یک ماژول که بین همه بروژهها مشترکه و بعدا که بخوایم هز بروژه ای بزنیم از این ماژولها استفاده میکنیم. آیا چنین کاری معقوله ؟
MohammadMoghadasi۰۹ مرداد ۱۳۹۸، ۱۲:۵۳
توی این حالت اکثرا رو میارن به میکروسرویس ... شما پروژه auth رو به صورت میکروسرویس در میارید و با هر زبان یا فریمورکی که میخواید پیاده سازی میکنید ... بعد به صورت API داخل سازمانی اون رو فراخوانی میکنید هرجایی که خواستید ...