سلام دوستان رسول دانش هستم امروز تو این مطلب می خوام شما رو با پنج اصل اساسی در طراحی شی گرا آشنا کنم .
اصول SOLID پنج اصل اساسی در طراحی شیءگرا و برنامهنویسی شیءگرا هستند. این اصول به وسیلهی رابرت سی. مارتین (Robert C. Martin) معرفی شدهاند.
وقتی که شما دارین یه کلاس رو طراحی می کنید باید این پنج اصل رو در آن رعایت کنین ،
که نر افزار شما
افزایش انعطاف پذیری کد داشته باشد
قابل نگه داری بودن کدهاتون و پراکنده نباشن و خوانایی بالایی داشته باشن
قابلیت تست پذیری بالایی داشته باشه
کد هاتون توسعه پذیری بیشتری داشته باشن
حالا این پنج اصل چی هستن ؟
1. تکمسئولیتی (Single Responsibility Principle - SRP):
- هر کلاس باید تنها یک دلیل برای تغییر داشته باشد و مسئولیتهای یک کلاس باید به یکدیگر مرتبط باشند.
2. بازبینی مفهوم (Open/Closed Principle - OCP):
- برنامه باید باز برای توسعه و بسته برای تغییر باشد. به اصطلاح، یک کلاس باید بتواند توسط افزودن کد، اما بدون تغییر در کد موجود تغییر کند.
3. تعامل بینعناصر (Liskov Substitution Principle - LSP):
- هر زیرنوعی باید بتواند به عنوان نمونهای از نوع اصلی خود در برنامه استفاده شود، بدون اینکه ویژگیهای برنامه را تغییر دهد.
4. جداسازی وابستگیها (Interface Segregation Principle - ISP):
- یک کلاس نباید به ویژگیهایی وابسته باشد که برنامه از آن استفاده نمیکند. به عبارت دیگر، کلاسها نباید وابستگی به ویژگیهایی داشته باشند که نیازی به آنها ندارند.
5. استفاده از وابستگیهای معکوس (Dependency Inversion Principle - DIP):
برنامه باید به جای وابستگی به جزئیات، به اصول بالاتر (ابتکارها) وابسته باشد. به عبارت دیگر، وابستگیها باید به سمت ابتکارها جلب شوند،.
در آینده هر کدوم از این اصل ها رو بیشتر توضیح میدم
و مثال های مختلفی با هم میبینیم،