اصول طراحی شی گرا SOLID چیست؟
SOLID مخفف پنج اصل بسیار مهم در مدیریت وابستگی (Dependency Management) در توسعه ی برنامه های شی گرا می باشد. در واقع هر کدام از حروف کلمه ی SOLID به یکی از این اصول بر می گردد.
یکی از مشکلاتی که طراحی نامناسب برنامه های شی گرا برای برنامه نویسان ایجاد می کند موضوع مدیریت وابستگی در اجزای برنامه می باشد. اگر این وابستگی به درستی مدیریت نشود مشکلاتی شبیه موارد زیر در برنامه ایجاد می شوند:
- برنامه ی نوشته شده را نمی توان تغییر داد و یا قابلیت جدید اضافه کرد. دلیل آن هم این است که با ایجاد تغییر در قسمتی از برنامه، این تغییر به صورت آبشاری در بقیه ی قسمت ها منتشر می شود و مجبور خواهیم بود که قسمت های زیادی از برنامه را تغییر دهیم. (این مشکل را Rigidity می نامیم.)
- تغییر دادن برنامه مشکل است و آن هم به این دلیل که با ایجاد تغییر در یک قسمت از برنامه، قسمت های دیگر برنامه از کار می افتند و دچار مشکل می شوند. (این مشکل را Fragility می نامیم.)
- قابلیت استفاده مجدد از اجزای برنامه وجود ندارد. در واقع، قسمت های مجدد برنامه ی شی گرای شما آنچنان به هم وابستگی تو در تو دارند که به هیچ وجه نمی توانید یک قسمت را جدا کرده و در برنامه ی دیگری استفاده کنید. (این مشکل را Immobility می نامیم.)
اصول SOLID که قصد رفع کردن این مشکلات و بسیاری مسائل گوناگون را دارند عبارت اند از:
- Single Responsibility Principle
- Open-Closed Principle
- Liskov Substitution Principle
- Interface Segregation Principle
- Dependency Inversion Principle
با کنار هم گذاشتن حرف اول هر کدام از این اصول کلمه ی SOLID ایجاد می شود. با در نظر گرفتن این پنج اصل و پیاده سازی آنها در برنامه های خود می توانید به یک طراحی شی گرا پاک و درست دست پیدا کنید.
لینک های دانلود
- دانلود رایگان فایل ویدئویی 0. Introduction
- دانلود رایگان فایل ویدئویی 1. Single Responsibility Principle
- دانلود رایگان فایل ویدئویی 2. Single Responsibility Principle Demo – Part 1
- دانلود رایگان فایل ویدئویی 3. Single Responsibility Principle Demo – Part 2
- دانلود رایگان فایل ویدئویی 4. Open-Closed Principle
- دانلود رایگان فایل ویدئویی 5. Open-Closed Principle Demo – Part 1
- دانلود رایگان فایل ویدئویی 6. Open-Closed Principle Demo – Part 2
- دانلود رایگان فایل ویدئویی 7. Liskov Substitution Principle
- دانلود رایگان فایل ویدئویی 8. Liskov Substitution Principle Demo – Part 1
- دانلود رایگان فایل ویدئویی 9. Liskov Substitution Principle Demo – Part 2
- دانلود رایگان فایل ویدئویی 10. Interface Segregation Principle
- دانلود رایگان فایل ویدئویی 11. Interface Segregation Principle Demo – Part 1
- دانلود رایگان فایل ویدئویی 12. Interface Segregation Principle Demo – Part 2
- دانلود رایگان فایل ویدئویی 13. Dependency Inversion Principle
- دانلود رایگان فایل ویدئویی 14. Dependency Inversion Principle Demo – Part 1
- دانلود رایگان فایل ویدئویی 15. Dependency Inversion Principle Demo – Part 2
- دانلود رایگان فایل ویدئویی 16. Conclusion
- دانلود رایگان فایل پروژه Exercise Files
- پسورد تمامی فایل های سایت www.provid.ir است.