پیاده سازی SOLID با کدهای دارت برای فریم ورک Flutter

SOLID
SOLID

در دنیای برنامه نویسی شی گرا ( OOP) ، دستورالعمل ها، الگوها یا اصول طراحی بسیاری وجود دارد. پنج مورد از این اصول معمولا با هم گروه بندی می شوند و با مخفف SOLID شناخته می شوند. در حالی که هر یک از این پنج اصل چیزی خاص را توصیف می‌کنند، اما با هم همپوشانی دارند، به طوری که اتخاذ یکی از آنها متضمن یا منجر به پذیرش دیگری می‌شود.

اصول SOLID ما را تشویق می کند تا نرم افزار قابل نگهداری، قابل فهم و انعطاف پذیرتری ایجاد کنیم . در نتیجه، همانطور که برنامه های ما در اندازه بزرگ می شوند، می توانیم پیچیدگی آنها را کاهش دهیم و علاوه بر سرعت بالاتر توسعه، تجربه راحت تری داشته باشیم !

وقتی توسعه‌دهندگان بدون استفاده از SOLID روی طراحی برنامه ای کار می‌کنند، می‌توانند مشکلات عمده ای را برای توسعه‌دهندگان آینده که روی پروژه کار می‌کنند ایجاد کنند و زمان زیادی از پروژه هدر برود و موفقیت بالقوه برنامه‌ای را که در حال توسعه هستند محدود کنند.

حال سوال اینجاست که : اگرسالید را رعایت نکنیم چه میشود ؟

جواب به طور خلاصه این هست : باعث حالت "Code Rot" یا "کد پوسیده" میشود .که شامل چهار آفت می شود که در ادامه به ترتیب توضیح خواهم داد که چه هستند.

۱- سختی یا Rigidity : تغییری کوچک باعث می شود کل سیستم بازسازی شود.

۲- شکننده بودن یا Fragility : تغییرات در یک ماژول باعث می شود که ماژول های نامرتبط به هم رفتار نادرست داشته باشند.

۳- غیر قابل جابجا کردن یا Immobility : اجزای داخلی یک ماژول را نمی توان استخراج کرد و در محیط های جدید دوباره استفاده کرد.
به عنوان مثال، اگر ماژول ورود به سیستم یک برنامه کاربردی را نمی توان در سیستم کاملاً متفاوت استفاده کرد، این ماژول اصطلاحا” immobile یا غیر قابل جابجا کردن است که ناشی از اتصال و وابستگی بین ماژول های مختلف است.

۴- چسبندگی یا Viscosity : مراحل ساخت و Test برنامه دشوار و Debug آن زمان زیادی می برد . به خصوص زمانی که حتی انجام یک تغییر ساده پرهزینه است و شما را ملزم به ایجاد تغییرات در چندین قسمت یا لایه از Code می کند.


داستان SOLID به سال 2000 برمیگردد، وقتی که برای اولین بار توسط رابرت سی. مارتین در مقاله خود با عنوان اصول طراحی و الگوهای طراحی، آن را مطرح کرد. این مفاهیم بعداً توسط Michael Feathers ساخته شد، که ما را با مخفف SOLID آشنا کرد. و در سالهای گذشته، این 5 اصل، دنیای برنامه نویسی شی گرا را متحول کرده و روش نوشتن نرم افزار را تغییر داده است.

کد شما همواره نیاز به ریفکتور دارد. نرم افزار شما باید بتواند با نیازهای در حال تغییر مشتری شما هماهنگی داشته باشد. از این رو همیشه این امکان وجود دارد که کد نوشته شده را تغییر دهید و آن را بهتر کنید. چه شما روی پروژه باشید یا نوبت به توسعه دهنده بعدی رسیده باشد. از این رو اهمیت SOLID پررنگ تر می شود.


هنگامی که از تمام اصولS.O.L.I.D به صورت ترکیبی استفاده می کنید، توسعه نرم افزاری که به راحتی قابل مدیریت باشد، برای شما و سایر توسعه دهندگان به مراتب آسان تر می شود.


در مقالات بعدی ( که لینکهای آن را در ادامه می بینید ) ، جزئیات پیاده سازی هر بخش رو با کدهای دارت، با همدیگر بررسی می کنیم.

مقدمه ای بر SOLID

توضیح اصل اول : Single Responsibility Principle

توضیح اصل دوم : Open Closed Principle

توضیح اصل سوم : Liskov Substitution Principle

توضیح اصل چهارم : Interface Segregation Principle

توضیح اصل پنجم : Dependency Inversion Principle