انجینئری سافٹ وئیر کو تبدیلی کی ضرورت ہے— نیو ہارڈ ویئر، تجدید شدہ معیار، Encenting systems, اور تبدیل کرنے کے تقاضوں کو پورا کرنے کے لئے struction processing processing system کو ایسے نظام بنانے کا ایک طریقہ فراہم کرتا ہے، جسے بنیادی منطقی طور پر لکھنے کے قابل بنایا جا رہا ہے. یہ مضمون گہرائی میں ترمیم، انجینئری ڈومینوں کے ذریعے اور عملی تناظر میں اپنے مستقبل کے فن کو نقش کرنے کے لیے حکمت عملی ترتیب دیتا ہے۔

ابی‌سلوم کی صنعت کیا ہے ؟

دی ابسٹنگ فیکٹری کا انداز ہے [Gang of four کتاب *Decons/ursigns: [1]]. [1].Elets of Reusabelle-Orient software.* [1] [FLT3]]]]]]]] کے لیے ایک ری میکنگ ہے. [FL3 کا مقصد]، اس بات کو فعال کیے بغیر کہ ان کے پر عمل پیران کے قابل عمل کیا جا سکے،

انجینئری کے ضمن میں، ایک "کلر" ممکن ہے کہ کسی خاص ہارڈ ویئر پلیٹ فارم (مثلاً سینسر، مواصلات، رابطہ پروٹوکول) کے لیے درکار تمام اجزاء ہوں یا تمام چیزیں کسی مخصوص کیمیائی ماحول (مثلاً، میسنجر، حلر، جانشین، پوسٹ وغیرہ)۔

ساتھی کارکنوں

  • [Abssactory – ہر قسم کی پیداوار بنانے کے لیے ایک مُتَّقّقّر (reface) کا اعلان کرتا ہے۔
  • ConcreteFactory – تخلیقی طریقوں کو عمل میں لاتے ہیں جو کسی مخصوص خاندان سے تعلق رکھتے ہیں۔
  • [AbssactPrution – کسی پیداواری نوعیت کے لیے ایک مُنہ (مثلاً، ، )، [حوالہ درکار]، ایک مُتناسقات (انگریزی:
  • Concreteproduct – کسی پیداوار کا تعین کرتا ہے جس کو متعلقہ کنکریٹ فیکٹری نے بنایا ہے؛ ابہامی عملیاتی سطح پر عمل آوری کرتا ہے۔
  • Client – صرف ابہامی فیکلٹی اور ابہامیاتی سطحوں کا استعمال، جو کہ ناقابل عمل عمل عمل ہے۔

یہ ڈکوپنگ وہ انداز ہے جو موڈر توسیع کے لیے اتنا طاقتور بناتا ہے. نئے ہارڈ ویئر سیٹ اپ کو نئے کوارک فیکلٹی لکھنے کا مطلب ہے اور اس کی حمایت کنکریپٹووووکشنس— کلائنٹ کوڈ تبدیل نہیں ہوتا۔

انجینئری سافٹ وئیر کو اس حد تک کیوں ضرورت ہے

انجینئری سافٹ وئیر اکثر کئی ڈومینوں پر محیط ہوتا ہے، ہر ایک کے پاس منفرد تنازعات اور تیز ٹیکنالوجی کی تبدیلی۔ ایبٹ آباد فیکٹری کا انداز کئی ناقابلِ برداشت درد کے نقطوں کو نکلتا ہے:

مؤثر

مثال کے طور پر ، ایک کیمیائی عنصر تجزیہ (FEA) اطلاق مختلف اقسام (2D, 3D, settlement) یا مختلف حل شدہ پشتونوں (restruments) کے لیے مختلف صنعتوں کے خاندان بنائے جا سکتے ہیں ۔

سلا نا گاہ

جب نئی پیداواری اشیاء نکلتی ہیں—سیس، ایک خودکار گاڑی کے سافٹ ویئر کے لیے ایک نیا قسم کی لی ڈی آر سینسر - اس نمونے کی مدد سے آپ کو موجودہ فیکٹریوں یا کلائنٹ کوڈ کو چھونے کے بغیر ایک نیا کنکلر فیکلٹی شامل کرنے کی اجازت ملتی ہے. یہ خاص طور پر قابل قدر ہے جب انجینئر سافٹ وئیر ہارڈ ویئر کے وسیع پیمانے پر ہارڈ ویئر اور معیاروں کی مدد کرتا ہے۔

ایک غیرمعمولی کام

انجینئری کی تربیت مختلف ہوتی ہے : مشینوں کی مدد سے مشینوں کی مدد سے مشینوں کی تعمیر میں بہت سی تبدیلیاں ہوتی ہیں ، اور زیادہ سے زیادہ ۔

مایوسی کے دوران توازن برقرار رکھیں

ایک فیکٹری کے خاندان میں تبدیلیاں الگ ہیں. ایک ہارڈ ویئر ڈرائیور کو دیکھ کر یا تیسری جانبی لائبریری کو تبدیل کرنے کے لئے صرف متعلقہ کامرس فیکٹری میں تبدیلیاں درکار ہیں. اس سے متعلقہ خطرہ اور سمپلائنسی ورژن انتظامیہ میں تبدیلی آتی ہے۔

اصلاح کا آغاز کرنا : ایک عملی نمونہ

ایک کمپیوٹر-ایڈ ڈیزائن (CAD) اطلاقیہ پر غور کریں جس کی مدد سے متعدد انفنٹری (Parass, Open CASC settle) کی مدد کی جانی چاہیے۔ ہر ایک کمپیوٹر کے پاس اسکی نمائندگی اور عمل اپنی نمائندگی اور عمل کاری ہے جو مختلف سطحوں، محکموں، محکموں اور اطراف کے لیے ہے۔

// Client code full of if-else chains
if (kernel == "Parasolid") {
 Curve c = new ParasolidCurve(...);
} else if (kernel == "ACIS") {
 Curve c = new AciSCurve(...);
}

ابسکر فیکٹری کی طرز کے ساتھ، کلائنٹ کو کبھی بھی کنکریٹ کیمرا نہیں جانتے:

// Abstract factory interface
public interface GeometryFactory {
 Curve createCurve(Point p1, Point p2);
 Surface createSurface(...);
 Solid createSolid(...);
}

// Concrete factories
public class ParasolidFactory implements GeometryFactory { ... }
public class AciSFactory implements GeometryFactory { ... }

// Client
GeometryFactory factory = getFactory(); // selected via config or runtime
Curve c = factory.createCurve(p1, p2);
Solid s = factory.createSolid(face);

کلائنٹ مکمل طور پر sound سے مربوط ہوتا ہے. ایک تہائی (مثلاً، اوپن cesC) کو شامل کرنا صرف interface اور کوینٹل مصنوعات کا سیٹ پر عمل کرنے کا تقاضا کرتا ہے۔

یہ مثال کسی بھی انجینئری ڈومین پر توازن قائم کرتی ہے جہاں کئی "دیالکات" یا عمل آوری موجود ہوتی ہے: سینسر ڈرائیور، حل کنندہ بیکنڈس، نظریاتی انجنوں یا مواد ڈیٹابیس۔

اُصولوں پر عمل کرنا : اعلیٰ استعمال کیس

سادہ ڈرائیور انتخاب سے باہر ، ابصاری صنعتوں کا نمونہ اسقدر قابل بناتا ہے کہ اس میں مہارت کے حامل ماہرانہ نمونے شامل ہیں:

پل‌گ‌ین آرکیٹیکچرز

بیرونی ٹیمیں تیسری ⁇ party models تیار کریں . ہر ایک کوآپ اپنی ہی کیرئیر فیکٹری مہیا کرتا ہے، جسے رنمنٹ پر رجسٹر کیا جاتا ہے. میزبان اطلاقیہ انکشاف کرتا ہے اور فیکٹری کو دعوت دیتا ہے کہ نئی صلاحیتوں کو شامل کیا جائے— مثال کے طور پر نئے مادی نمونے یا تجزیے کی اقسام— بغیر مرکزے کے

ملٹی‌جُل پلیٹ فارم ڈی‌پلیشن

انجینئری سافٹ وئیر اکثر ونڈوز، لینکس اور انجینی سسٹمز پر چلتا ہے. ایبٹ آباد فیکٹریاں نظام رسائی، سوراخ یا یو آئی کے اجزاء کی تخلیق کے پلیٹ فارم کو ترتیب دے سکتی ہیں

مختلف قسم کے فِلپّیوں کے ساتھ ماحول

پانی کے اندر موجود متحرک حرکتوں یا برقی مقناطیسی تعامل میں صارفین کی تعداد میں تیزی سے کم‌ازکم ایکس‌اُلعین اور بلند‌اُلعین کے درمیان تبدیلی ہو سکتی ہے ۔

مستقبل میں مُلک میں رہنے والے لوگ اپنے بچوں کو خدا کے بارے میں سکھا رہے ہیں

ابشٹرینگ فیکٹری کے ساتھ ڈیزائن کرنا ٹیکنالوجی کے ترقی یافتہ اور کاروباری تقاضوں کو تبدیل کرنے کے لیے انجینئری سافٹ وئیر تیار کرتا ہے۔

آئیو ٹی اور ایج کمٹنگ کے ساتھ ربط قائم کریں

انجینئری اوزاروں کے طور پر اس میں مہارت حاصل کرنے کے لیے ان کے داخلی سافٹ وئیر کو بادل کی خدمات، مقامی نقل و حمل اور دیگر اوزاروں سے رابطہ کرنا پڑتا ہے۔ایک ابصوتی فیکٹری مختلف رابطے کے اسٹاک بنا سکتی ہے (ایم ٹی ٹی، کو آئی ٹی پی، ایچ ٹی پی-2) اور ڈیٹا فارمیٹنگ چیزیں (Protobuf, Junsion, CBOR)۔ نئے پروٹوکول کو ایک نئی فیکٹری کے طور پر بنانا آسان ہے۔

اے آئی او زبان سیکھنے کیلئے مدد

انجینئری تجزیہ تیزی سے بڑھتی ہوئی ایم ایل ماڈلنگ، ایم ایل اے ماڈلنگ، ایم اے ایم اے (Anomaly) کے لیے تیار کیا جاتا ہے. ایک ابیٹڈ فیکٹری ماڈل لوڈرز، انفنٹری انجن اور تربیتی ڈیٹا پائپ لائنوں کی ساخت کو بہتر بنا سکتی ہے۔

کلاؤڈ ینی اور ورینیکل آرکیٹیکچرز

مائیکروسافٹ کی صنعتوں سے فائدہ حاصل ہوتا ہے تاکہ مختلف سروسز کی کارکردگیوں کو مختلف ماحول میں استعمال کیا جا سکے (Development, setting, Production)۔ ہر سروس ڈیٹابیس رسائی، تصدیق اور پیغام رسانی کے لیے ایک دلچسپ فیکٹری کا تعین کر سکتی ہے۔اس سے یہ ٹیمیں بغیر سروس منطق کے آرکائیو شدہ آرکائیو کو دوبارہ تحریر کرنے کی اجازت دیتی ہیں۔

طویل‌ترین تِتلی دوبارہ پیدا ہونے والی تباہی

اندازِ تبدیلی میں تبدیلی کے "ریپل اثر" کو کم کرتا ہے۔مشتمل انجینئری انسٹی ٹیوٹ کے مطابق، آرکیٹیکچر کی سطح کی تبدیلیوں کا وزن 10–100 گنا کم ہوتا ہے جب زندگی میں ابتدائی وقت میں بننے لگے (انگریزی: Decoupling object تخلیق)۔ ابشٹری فیکٹری اسے استعمال سے تیار کردہ ابتدائی عرصے کے بعد سافٹ ویئر کو نئے ہارڈ ویئر یا معیاروں کے مطابق ڈھالنے میں رکاوٹ بناتی ہے۔

اِن سے بچنے کے لئے ہمیں کیا کرنا چاہئے ؟

کوئی بھی انداز چاندی کی گول نہیں ہے. ایبٹ آباد فیکٹری غیر ضروری پیچیدگیوں کو متعارف کر سکتی ہے اگر استعمال کیا جائے تو عام غلطیوں میں شامل ہے:

  • ٹو بہت سے متنوع خلیات – ہر معمولی فرق کے لیے صنعتیں گہری ہریانہ تک جاتی ہیں جو کہ کافی مشکل سے گزر رہی ہیں. صرف ان چیزوں کے خاندانوں کے لیے ہی استعمال کریں جو آپس میں مختلف ہوتی ہیں۔
  • inflexibentences – اگر کشش ثقل کے تعاملات بہت تنگ ہوں تو نئے تناسب کو خودبخود تبدیل کرنے کے لیے ضروری ہو سکتا ہے.
  • ITION link – فیکٹریوں میں کام کرنے والے زیادہ تر کام کے لیے بہترین ہوتے ہیں جب کوینٹل فیکٹری کو ترتیب کے ذریعے منتخب کیا جاتا ہے، نہیں، سخت ترین کوڈ کے ذریعے۔

جب اَب‌کار فیکٹری کا طریقہ استعمال کرتا ہے تو انجینئری سافٹ‌ویس کو واضح طور پر قابلِ‌رسائی بنانے کے لئے اُسے متوازن‌و مستحکم بنانے کی ضرورت ہوتی ہے ۔

کُنَّا

ایبٹ آباد فیکٹری کا نمونہ ایک وقتی ڈیزائن سافٹ وئیر ہے جو نئی ٹیکنالوجی، معیار اور ڈومینز کے ساتھ ترقی کر سکتا ہے. اس سے مراد جدید انجینئری نظامات کے مطابق جدید نظامات کی مانگ، ترقی، تناسب، کنٹرول، یا آئیو ٹی کے لیے تیار کردہ اسٹائل کو ختم کرنا ہے اور اس کے بعد کل کام کو اپنے کوڈ کو بھی تیار کرنا ہے۔


[References

  1. جمما، ای، ہیلم، آر، جانسن، آر، اینڈمپ؛ ویلیس ڈریم، جے (1994). . [FLT:]. [ حوالہ:Elements of Reusabout-Orient software. Addison-Wesley. [FLT2] [flly link][3]]]]]]]]
  2. Fowler, M. (2002). [Patterns of Entertainment اطلاقیہ آرکیٹیکچر[1:1]. Addison-Wesley. . .com. .
  3. SEI Series on Software Engineering. [1] سافٹ ویئر آرکیٹیکچر [[1:1]. .CMU SEI White Paper. [1]. [1].