اصولوں کو سمجھنا

SOLID اصول پانچ باسکٹ بال والے ڈیزائنی اصول ہیں جو ترقی پزیر نظامات بنانے میں مدد دیتے ہیں جو برقرار رکھنے، توسیع کرنے اور امتحان میں آسانی سے مدد دیتے ہیں۔انہیں رابرٹ سی مارٹن نے 2000ء کے اوائل میں متعارف کرایا تھا اور جدید سافٹ ویئر آرکیٹیکچر کا ایک آلہ بن گیا ہے. ہر اصول سافٹ ویئر ڈیزائن کے ایک مخصوص پہلو کو بتاتا ہے:

  • Single Presidentle (SRP): ایک کلاس کو صرف ایک وجہ تبدیل کرنی چاہیے، جس کے معنی ایک ہی عمل کے لیے ہونا چاہیے۔
  • اوپن/کلسیڈ پرنسپلل (OCP): کلاسوں کو توسیع کے لیے کھول دیا جانا چاہیے مگر تبدیلی کے لیے بند ہونا چاہیے — آپ اس سے قبل کوڈ تبدیل کیے بغیر نئے طرز عمل شامل کر سکتے ہیں۔
  • [Liskov spermpirle (LSP):] سسٹم توڑنے کے بغیر اپنی بنیادوں کے لیے قابل قبول ہونے کی ضرورت ہے۔
  • ری ایکٹر سیریز پرنسپل (آئی ایس پی):] کلائنٹ کو ایسے تناسبات پر انحصار نہیں کرنا چاہیے جن سے وہ استعمال نہیں کرتے؛ بہتر ہے کہ بہت سے چھوٹے، مخصوص منفرد معملات ایک بڑے، عام مقصدی سطح سے ہوں۔
  • [Decency inference Princele (DIP): اعلیٰ سطح کے مدارس کو کم سطح کے مدارس پر انحصار نہیں کرنا چاہیے؛ دونوں کو تفاعلات پر انحصار کرنا چاہیے۔

سافٹ ویئر آرکیٹیکچر میں موجود ظاہری کارکردگی میں CDMAL کا کردار

غیر مجاز ماڈلنگ زبان (UML) نظریاتی نظام ڈیزائن کے لیے ایک جامع نوٹ فراہم کرتا ہے. ڈائیگرام ترقی یافتہ، آرکیٹیکچر اور کُل‌وے کے لوگوں میں مشترک زبان کے طور پر کام کرتی ہیں جس سے پیچیدہ ترکیبوں کو آسانی سے رابطہ کرنا آسان ہو جاتا ہے ۔ جب SLID-complanent آرکائیوز پر عمل میں لایا جاتا ہے تو ڈی‌ایل‌این‌اے کے ڈیزائن سے پتہ چلتا ہے کہ کیسے اچھے طریقے سے ڈیزائن اُصولوں اور واضح کئے جا سکتے ہیں جنکو دوبارہ تعمیر کرنے کی ضرورت ہو سکتی ہے ۔

٭ ایل 14 تصاویر پر مشتمل ہے، لیکن اس میں کلاس روم کی تصاویر، اجزاء، ترتیبی نقشے اور پیکج ڈیزائنز شامل ہیں۔ ہر تصویری قسم کے اصولوں کے مختلف پہلوؤں پر زور دے سکتی ہے — مثال کے طور پر کلاس روم کی خصوصیات اور ان کے اندر فرقوں کو نمایاں کیا جاتا ہے جبکہ ان میں حروف تہجی سمتوں اور انتہائی اہم نکات کو نمایاں کیا گیا ہے۔

ہر سوئیڈ پرافیسی پر مبنی ڈائیگرام

ایک ہی ذمہ‌دار اور کلاس میں ڈائیگرام

کلاسي شکلي اري بورڈز sRP پرو کسي اطاعت کے ليے بخوبی ے ے ے ۔

مثال کے طور پر، ایک کلاس جس کا نام 'Infound Manager' ہے، جو دونوں کو حساب میں قابو میں رکھتا ہے اور ایس آر پی کو توڑ کر بھیج دیتا ہے کلاس ڈرافٹ کے طریقے دکھائے گا جیسے 'کلکوٹٹ توٹل() اور'کے اندر' کو ایک ہی باکس میں تقسیم کرنے کے لئے کلاس کو ظاہر کرتا ہے' اور 'ای میل کی نگرانی کرنے والی حدود' میں

کھلے/کلوز پریمیئر اور اجتماعی طور پر جبڑے

جمع کنندہ شبیہات (contonent) کسی نظام کی بلند ترین ساخت کو ظاہر کرتا ہے، یہ ظاہر کرتا ہے کہ کیسے اجزاء (مثلاً، models، subsystem) باہمی تعلقات کے ذریعے رابطہ کریں OCP پر پابندی لگانے کے لیے اجزا کو یقینی طور پر چیک کر نا چاہیے جبکہ نئے عمل کو موجودہ ہونے دیا جا رہا ہے۔

ایک مشترکہ شکل میں، آپ فراہم کردہ اور مطلوبہ مُتَرِّس (sympt) استعمال کرتے ہوئے اسے نمائندگی کر سکتے ہیں. A‘PaymentProcesor' حصّہ، مثلاً 'Payment' interface. نئے ادائیگی طریقہ کار (Conspt) کو الگ الگ اجزاء کے طور پر شامل کیا جاتا ہے جو اسے فعال کرتا ہے. کرایہ واضح کرتا ہے کہ بنیادی اُس میں تبدیلی کی ضرورت نہیں ہے — صرف مُتناسقل پر منحصر ہے۔

لیسکووو کیپری اور وارثی حائری ہیں۔

اگر کسی گروہ کے درمیان پائی جانے والی نسل‌کُشی‌وَن‌النسل اشخاص کو براہِ‌راست ٹیسٹ کِیا جاتا ہے تو اُسے توقع کرنے والے لوگوں کو یہ یقین ہو جاتا ہے کہ وہ آپ کو پہلے سے زیادہ دباؤ ، پوسٹ‌جُنس اور اُن کے علاوہ اُن کے حالات کے بارے میں بھی بتائیں گے ۔

ایک کلاسیکی ایل ایس پی کی خلاف ورزی ہے'سبرگ سے ورثے میں وارثی ہے. اگر'Square' تبدیل کریں 'Set Width()','Couare','s struction','Recting'se.

مواجہ سیجیشن پریمیئر اور روبوٹ ڈائیگرام

IPvL فعال کر سکتا هے%s (کو ئيے کے ساتھ) یقینی طور پر روبوٹس استعمال کر سکتا هے (<'strupe. آپ نے IP کو تبدیل کرنے کے لیے ایک بڑے ٹرمینل کی بجائے متعدد چھوٹے چھوٹے متضاد محرکات پیدا کیے۔

مثلاً، 'مُٹِفِنٹِنِّر' کے ساتھ ایک 'پرینٹ()' کے برعکس،'سکن()،'فَکس()،'آپ‘ میں پھوٹ پڑے‘،'سِناب‘،' اور'فَنسِبل'۔

کامیابی کی بنیاد پر خود کو مضبوط بنانا اور اِن میں سے کچھ کونسا حکم ہے ؟

دونوں کلاس کی تصاویر اور پیکج ڈیزائنز ڈی آئی پی کی مطابقت کو ظاہر کر سکتے ہیں. ڈی پی کے مطابق اعلی سطح کے مدارس (مثلاً کاروباری منطقہ) کا انحصار کم مقدار میں مدارس (مثلاً، ڈیٹا بیس: ڈیٹا بیس) پر نہیں ہونا چاہیے۔ بلکہ دونوں پر انحصار کرنا چاہیے۔

پیکج کرسر کي پا کوں ميں آپ سمت دکھاتے هيں آپ کو كے اوپري سطح پر پیکج پوائنٹ صافي سطح پر دکھائی دے سکتے هيں اگر ے

س . ع .

ان ہدایات پر عمل کریں کہ پاک اور واضح اور واضح ہدایات فراہم کریں جو کہ کیمیائی اصولوں کو مضبوط کرتی ہیں:

  • Guid Stereopes and Notes: [1]، <، [حوالہ درکار]، اور <' اور< Streopes.
  • ریختہ کی توجہ مرکوز کرتے ہوئے: ایک ہی تصویری اصول کو ایک یا اس سے متعلقہ اصولوں کا ایک چھوٹا سا مجموعہ بیان کرنا چاہیے۔
  • . [Depict صرف متعلقہ تعلقات: میراث، شراکت، متعین اور غیر ضروری تیروں کو جہاں وہ معاملے میں مشغول ہیں، دکھا دینا۔
  • ہائی لائٹنگ کی خلاف ورزی : مختلف رنگوں یا پرے ہوئے لکیریں استعمال کریں تاکہ مسئلہیاتی رشتوں کی نشان دہی کی جا سکے۔ مثال کے طور پر، بلند سطح کے کوڈ سے لے کر کم درجہ بندی تک ایک سرخ سا سرخ سا ٹکڑا ایک ڈی آئی پی کی خلاف ورزی کا نشانہ بن سکتا ہے۔
  • [Iflation with restruction: [1] جب آپ SLID سے ملنے کے لیے ڈیزائن دوبارہ شروع کریں گے، تصاویر کی تجدید کریں گے. EDL ایک زندہ serve — اسے کوڈ میں ایک ٹائم اسکیم کے طور پر، نہیں بلکہ ایک ٹائم اسکیچ کے طور پر کرو.

عام خطرات اور ان سے بچنے کا طریقہ

تجربہ‌کار ماہرین بھی کیمیائی طور پر تباہ ہو سکتے ہیں جب ہوائی جہاز کو ڈیزائن کرنے کے لئے SLL استعمال کرتے ہیں ۔

  • Over-absting: بہت سے ایسے متضادات سے شروع ہو سکتے ہیں جو یاوجن کو ضرورت ہے (آپ نہیں گن سکتے).
  • Confing ML notation: مس آپکو تیر استعمال کرنا ہے عام طور پر تیر استعمال کرنا (مثلاً، عام طور پر تیر استعمال کرنا)
  • [IFLT:0] کو ترتیب دینے کے عمل میں LSP: . [squence signals shompttimes]. اگر کسی ذیلی کلاس کے ذریعے بصری چیز کو غیر متوقع طور پر تبدیل کیا جائے اور انٹرمیڈیٹ کو غیر رسمی طور پر تبدیل کیا جائے تو LSP کو توڑ دیا جاتا ہے۔
  • [Neglcult sound sound: DIP کے بارے میں ہے. پیکج ڈرائنگس میں ہمیشہ کلائنٹ سے سرور تک تیریں بنا لیں. اگر آپ نے چکر یا تیروں کو غلط راستے پر نشان دیکھا تو پھر اس کے دوبارہ حل کریں۔
  • ممکنگ تصاویر بہت تفصیل سے بیان کرتے ہیں: ایک کلاس ڈرائنگ ہر ایک ڈگری اور اسٹیج کو منظر عام پر لاتے ہوئے عوامی ایسے ایسے ایسے ایسے عوامل اور کلیدی تعلقات پر توجہ دیں جو SLID اصولوں کو عمل میں لاتے ہیں۔

متفرق‌وغریب خصوصیات

کئی آلات آپ کو ایسے ایل ایس ایم کر سکتے ہیں جو کوڈ کے ساتھ جڑے ہوئے ہوں. ایک منتخب کریں جو آپ کے کام پر انحصار کرتا ہے:

  • PlantUL: ایک متن پر مبنی ایک ایسا آلہ جو نسخہ کنٹرول کے ساتھ متعین ہو جاتا ہے. سادہ متن تشریحات اور تصاویر خودبخود تخلیق کرتا ہے.
  • Construction.i (diagrams.net): ایک آزاد، ویب پر مبنی تصویری ایڈیٹر. معاونت·L stencils and آسان برآمدات. خیر فار دیئرل وائٹ بورڈنگ کے لیے.
  • [Lucidchart:] ایک ادائیگی پلیٹ فارم جس میں MILTTT اور حقیقی وقت کی تیاریوں کے ساتھ. Conflence اور Jira سے علیحدگی پسندانہ سلوک۔
  • مسقطی: ایک اوپن سپر ماڈلنگ ٹول جو MIL اور BPMN. کلاس ڈرائنگ اور بیک مشینر سے کوڈ تیار کر سکتا ہے۔
  • InteltiJ IDEA پیشگی: جس میں کلاس، پیکج اور انفلیشن کے لیے بنائی گئی خصوصیات شامل ہیں. براہ راست آپ کے کوڈ کیبیس کے ساتھ کام کرتا ہے۔

سوئیڈن کے اصولوں اور جی ڈی ایل کے بارے میں گہری سمجھ کے لیے آپ رابرٹ سی مارٹن کی اصل تحریر [PD (PDF)] پر اور ویکیپیڈیا پر مضمون .SOLD اصول[FLT:T:3] کے لیے رجوع کریں.

کُنَّا

کمپیوٹر کی ویب‌سائٹ پر دستیاب معلومات کو استعمال کرنے والے لوگ اپنے اندر ایسی چیزیں پیدا کرنے والے اصولوں کو اچھی طرح سے دیکھ سکتے ہیں جو کہ ترقی‌یافتہ لوگ جانچ سکتے ہیں ، بات‌چیت کرتے ہیں اور اِن میں سے ہر ایک کو ایک اصول کی پیروی کرنی چاہئے ۔

کلیدی طور پر ایسے نظام استعمال کرنا ہے جو آپ کے کوڈ سے مربوط ہو