اصول SOLID اگرچه همواره پای ثابت بحثهای برنامهنویسیاند، اما نقش واقعیشان در مسیر توسعه معمولاً نادیده گرفته میشود. در این آموزش، رویکرد متفاوتی داریم و کاربرد SOLID را به عنوان یک سنجه و ابزار اعتبارسنجی (Validation) برای ارزیابی طراحی شیءگرا بررسی میکنیم.

گامهای سهگانه توسعه: از شناخت تا کدنویسی بسیاری از برنامهنویسان مستقیماً سراغ نوشتن کد (OOP) میروند، در حالی که خلق یک معماری استاندارد نیازمند طی کردن این مراحل است: تحلیل شیءگرا (OOA): درک عمیق نیازمندیهای بیزینس و صورتمسئله. طراحی شیءگرا (OOD): معماری و ساختاربندی راهکارها پیش از شروع برنامهنویسی. کدنویسی شیءگرا (OOP): تبدیل طراحیهای انجامشده به کدهای اجرایی. در اینجا یاد میگیریم که چطور ساختار اولیه را با الگوهای GRASP پایهریزی کنیم و سپس با ترازوی SOLID، عیار طراحی خود را محک بزنیم. مرز حیاتی میان الگو (Pattern) و اصل (Principle) طراحی تشخیص تفاوت این دو مفهوم، از چالشهای مهم توسعهدهندگان ارشد است:
دیزاین پترنها: فرمولهایی آماده، شفاف و کپسولهشده برای برطرف کردن چالشهای تکراریاند. دیزاین پرینسیپلها: حکم قطبنما را دارند و فاقد چارچوبهای صلب هستند. بررسی میکنیم که چرا اجرای اصلی مانند Single Responsibility به بلوغ حرفهای نیاز دارد؛ چرا که افراط در آن به پیچیدگی زاید (Over-engineering) و تفریط در آن به کدهای آشفته ختم میشود. معماری در سطوح مختلف: از کانتکست تا کد قواعد طراحی صرفاً به کلاسهای برنامه محدود نیستند! ما نحوه داشتن یک نگاه کلان و لایهمحور را آموزش میدهیم: کاربرد اصل SRP در مقیاسهای بزرگتر مانند Bounded Contextها و میکروسرویسها. شیوههای کنترل وابستگیها و ارتباطات در لایههای Container و Component. تاثیر مدیریت وابستگی در مهار معضلاتی نظیر خشکی نرمافزار (Rigidity) و مقاومت در برابر تغییر (Viscosity). اهمیت شناخت وابستگیها (Dependency) پیش از ورود به SOLID مادامی که منشأ اصلی پیچیدگیهای سیستم (یعنی وابستگیها) را درک نکنید، قواعد سالید صرفاً محفوظاتی بیکاربرد خواهند بود. در این ویدیو، پیشنیازهای ورود به دنیای معماری حرفهای، نظیر درک الگوهای GRASP و استراتژیهای مدیریت وابستگی را به شکلی کاربردی کالبدشکافی میکنیم
ویدو این آموزش
https://www.aparat.com/v/dxq47gd
امید وارم لذت ببرید