Solid in c sharp

سوال

سلام دوستای خوبم خیلی وقته که دنبال مفهوم Solid در سی شارپ هستم اما هرچی گشتم چیز خوبی که مفهوم رو برسونه پیدا نکردم ممنون میشم اگر کسی بلد هست راهنماییم کنه. باسپاس فراوان

حل شده 1
golsa Mohammadi 4 سال 3 پاسخ ها 364 دیده شده 2

پاسخ ها ( ۳ )

  1. عرض سلام وادب خدمت شما

    solid مخفف پنج اصل بسیار مهم در مدیریت وابستگی در توسعه برنامه های شی گراست، اگر این وابستگی به درستی مدیریت نشود مشکلاتی شبیه مورد زیر در برنامه ایجاد می شود:

    برنامه نوشته شده را نمی توان تغییر داد و یا قابلیت جدید به آن اضافه کرد، دلیل آن هم این است که با ایجاد تغییر در قسمتی از برنامه، این تغییر به صورت آبشاری در بقیه ی قسمت ها منتشر می شود و مجبور خواهیم بود که قسمت های زیادی از برنامه را تغییر دهیم یعنی برنامه به یک برنامه ثابت و غیرقابل پیشرفت تبدیل می شود که این مشکل را Rigidity(انعطاف ناپذیری) می نامیم. و سایر مشکلات دیگر از این قبیل…

    حالا اصول solid که قصد رفع کردن این مشکلات را دارد عبارت اند از:

    ۱- Single Responsibility Principle:

    این اصل می گوید هر کلاس بایستی فقط یک کار انجام بدهد نه بیشتر!

    ۲- Open-Closed Principle:

    کلاس ها باید جوری نوشته بشوند که قابل گسترش باشند اما نیاز به تغییر نداشته باشند!

    ۳- Liskov Substitution Principle:

    هر کلاسی که از کلاس دیگر ارث بری می کند هرگز نباید رفتار کلاس والد را تغییر بدهد!

    ۴- Interface Segregation Principle:

    چند اینترفیس کوچک و خورد شده همیشه بهتر از یک اینترفیس بزرگ  و کلی است!

    ۵- Dependency Inversion Principle:

    از اینترفیس ها به خوبی استفاده کن!!

    دوست عزیز، امیدوارم تونسته باشم مفهوم رو برسونم، در پناه خدا باشید.

    بهترین پاسخ
  2. کلمه solidگرفته شده از ابتدای ۵جمله است که هرکدام از این جملات معنای خاص خود را دارند و یک برنامهنویس باید این قواعد را رعایت کند:

    ۱- Single Responsibility Principle:هرکلاس باید یک کار را انجام دهد.

    ۲- Open-Closed Principle: کلاس ها باید جوری نوشته بشوند که قابل گسترش باشند اما نیاز به تغییر نداشته باشند!

    ۳- Liskov Substitution Principle: هر کلاسی که از کلاس دیگر ارث بری می کند وهرگز نباید رفتار کلاس والد را تغییر بدهد!

    ۴- Interface Segregation Principle:اینترفیس های کوچک بنویسید همه ی کارها راب یک اینترفیس ندهید و اینترفیس های بزرگ را به چند اینترفیس کوتاه تبدیل کنید.

    ۵- Dependency Inversion Principle: از اینترفیس ها به خوبی استفاده کن!!

  3. با سلام

     SOLIDیکی از اصول برنامه نویسی شی گرا است , و به ما در نوشتن نرم افزاری با کیفیت تر کمک می رساند.

    solid سرنام کلمات زیر است :

    Single responsibility

    Open-closed

    Liskov substitution

    Interface segregation

    Dependency inversion

    S: Single Responsibility

    LمخففLiskov Substitution PrincipleیاLSPبه مفهوم اینکه هر کلاسی که از کلاس دیگر ارث بری میکند هرگز نباید رفتار کلاس والد را تغییر دهد.

    IمخففInterface Segregation PrincipleباISPبه مفهوم اینکه بهتر است به جای یک اینترفیس بزرگ چند اینترفیس کوچک داشته باشید.وقتی اینترفیس شما بزرگ است و یک کلاس آن را پیاده سازی می کند ممکن است به بعضی از این متدها که در اینترفیس بزرگ بوده است واقعا نیاز نداشته باشدو این متد ها در کلاس قابل استفاده نباشند. اما وقتی یاینترفیس بزرگ را به اینترفیس های کوچک می شکنیم هر کلاس دقیقا  اینترفیس خاصی را که نیاز داشته باشد پیاده سازی می کند. با این روش اگرچه تعداد اینترفیس ها بیشتر می شوند و ممکن است تکرار رخ دهد ولی چون منطق برنامه ما در اینترفیس ها اجرا نمی شود میتوان این مسئله را نادیده گرفت. در نهایت با رعایت این اصل امکان اشکالزدایی و بررسی کد ها سرعت بهتری پیدا می کند

    DمخففDependency inversion principleleو مفهومی است که از وابستگی مستقیم کلاس های سطح بالا به کلاس های سطح پایین جلوگیری میکند. به این منظور که اگر کلاسی که از کلاس های دیگر استفاده می کند وابستگی مستقیمی با کلاس های سطح پایین داشته باشد سبب بروز این مشکل خواهد شد.به این صورت که  اگر کلاس دیگری به مجموعه افزوده شود اجبارا کلاس سطح بالا نیز بایستی تغییر کندD جلوی این مشکل را می گیرد

ارسال یک پاسخ