Single Responsibility Principle(SRP)
یہ اصول کہتا ہے کہ ہر طبقے یا ویجیٹ کی ایک ذمہ داری ہونی چاہیے۔ یہ اس بات پر زور دیتا ہے کہ کلاس یا ویجیٹ کو ایک مخصوص فنکشن انجام دینا چاہئے اور اسے تبدیل کرنے کی بہت زیادہ وجوہات نہیں ہونی چاہئیں۔
مثال: صارف کی معلومات ظاہر کرنے کے لیے ایک ویجیٹ اور پوسٹس کی فہرست ظاہر کرنے کے لیے الگ ویجیٹ بنائیں۔
Open/Closed Principle(OCP)
یہ اصول موجودہ کوڈ میں ترمیم کرنے کے بجائے نیا کوڈ شامل کرکے فعالیت کو بڑھانے کی حوصلہ افزائی کرتا ہے۔
مثال: ای کامرس ایپ میں مختلف قسم کے پروڈکٹس ڈسپلے کرنے کے لیے ایک ویجیٹ بنائیں۔
Liskov Substitution Principle(LSP)
یہ اصول اس بات پر زور دیتا ہے کہ اخذ شدہ کلاس کی اشیاء کو پروگرام کی درستگی کو متاثر کیے بغیر بیس کلاس کی اشیاء کے لیے متبادل ہونا چاہیے۔
مثال: جیومیٹرک شکلوں کا نظم کرنے کے لیے ایک ویجیٹ بنائیں۔
Interface Segregation Principle(ISP)
یہ اصول انٹرفیس کو چھوٹے حصوں میں تقسیم کرنے کا مشورہ دیتا ہے تاکہ کلاسز یا ویجٹ کو ان طریقوں کو نافذ کرنے پر مجبور کرنے سے گریز کیا جائے جن کی انہیں ضرورت نہیں ہے۔
مثال: ڈیٹا کو اپ ڈیٹ کرنے اور ڈسپلے کرنے کے لیے انٹرفیس۔
Dependency Inversion Principle(DIP)
یہ اصول انحصار کو منظم کرنے کے لئے انحصار انجیکشن کا استعمال کرنے کی تجویز کرتا ہے۔
مثال: وجیٹس میں انحصار کو منظم کرنے کے لیے انحصار انجکشن کا استعمال کریں۔
یاد رکھیں کہ SOLID میں اصولوں کو لاگو کرنا آپ کے پروجیکٹ کے مخصوص مقصد اور اور Flutter کے بارے میں آپ کی سمجھ کی بنیاد پر لچکدار طریقے سے ہونا چاہیے ۔ SOLID Flutter