اصول پنجگان� طراحی شئ گرا براي اولین بار توسط رابرت سی مارتین معروف به عمو باب تعریف شد؛ سپس در سال 2000 آقای Michael Feathers با استفاده از اولین حروف هر یک از نامها� این اصول 5 گانه، نام SOLID را برای آنه� انتخاب كرد. وقتی این اصول در كنار یكدیگر در طراحی و پیادهساز� یک برنامه اعمال میشوند� به احتمال زیاد آن سیستم قابلیت این را خواهد داشت كه به آسانی قابل توسعه و نگهداری باشد.
در حقیقت اصول سالید، دستورالعملهای� هستند كه میتوان هنگام كار بر روی یک نرمافزار� آنها را برای از بین بردن، عوامل نامطلوب در كد، اعمال كرد. این كار از طریق فراهم آوردن چارچوبی انجام میگیرد كه با استفاده از آن، برنامهنوی� میتواند كدهای برنامه را اصلاح و بازسازی كند تا آنها توسعهپذی� و خواناتر شوند.
از آنجایی كه در حال حاضر اكثر تیمهاي برنامهنویسی كه در حال فعالیت اند با زبانه� و تكنولوژيهای� مبتنی بر شئ گرایی فعالیت میكنند� پس بر همه واجب است كه با اصول و قواعد مربوط به آن آشنا شوند. این اصول و قواعد شامل موارد زیر است:
شاید گزینهها� دیگري نیز وجود داشته باشند، اما این ها واجبتری� چیزهایی است كه هر برنامهنوی� باید از آن آگاه باشد. هر برنامها� (حتی سادهترینشان) احتیاج دارد مورد تست و آزمون قرار گیرد، براي اینكه برنامه شما قابل تست گرفتن باشد، ناگزیرید كه با استفاده از الگوهای طراحی و همچنین اصول SOLID كدهای خود را بهینه و قابل تست كنید و برای اینكه بتوانید كدهای گذشته� خود را براي این كار آماده كنید لازم است با نحوه بازنویسی و ریفكتور كردن آنها آشنایی كامل داشته باشید. این اصول از ضروريتری� مفاهیمی هستند كه هر برنامهنوی� باید با آنه� آشنا باشد.
من براي یادگیري و فهم اصول SOLID به منابع مختلفی رجوع كردم؛ از ویدئوها و كتاب آنكل باب (كه مطرح كننده این مفهوم است) گرفته تا سایته� و مقالهها� مختلفی كه در منابع به آنه� اشاره كردها�. كتاب پیشرو حاصل تلاش بنده در گردآوري و ارائه� این مفاهیم به صورت ساده و در دسترس است. به قول سایه (هوشنگ ابتهاج) نام این كتاب «سالید به سعی صدرا» است. امید آنكه حق مطلب ادا شده باشد.
فوق العاده روون و خلاصه! اولش فکر نمیکرد� بشه از کتاب تکنیکال فارسی چیزی در آورد، ولی خب عملا نظرم عوض شد. کل کتاب رو میش� تو ۲ ساعت راحت خوند. توضیحه� خلاصه و مثاله� کارامد و روونان� و به افراد اول راه خط خوبی از مفاهیم مختلف این حوزه مید� که برن دنبالش. خود چند سال پیشمو یادم نمیر� که چقدر طول دادم تا کلینک� رو بخونم ( و آخرم کامل نخوندمش ) و چقدر گپ میافتاد بینش، چقدر طول کشید تا با خوندن تیکهتیکه� یه سری مقاله اونم با گپ زیاد بین کار یه سری چیزارو یاد بگیرم، ولی این کتاب رو راحت و سریع میش� خوند و حتی در حد شنیدن اسمشون و گوشه� ذهن بودن مفاهیمش هم که شده بهش بسنده کرد.