نمط طريقة المصنع: الفرق بين النسختين

[مراجعة غير مفحوصة][مراجعة غير مفحوصة]
تم حذف المحتوى تمت إضافة المحتوى
سطر 31:
 
== تعريف ==
"حددعرّف واجهة interface لإنشاء كائن، لكن دع الصنف الفرعيsubclassesالفرعي يقرر أي صنف يريد إنشاء مثيل لهاwhich class to instantiateله. تتيح طريقة المصنع للصنف تأجيل التمثيل instantiation الذي تستخدمه في الصنفclassالصنف الفرعيةالفرعي ". ( [[خطط التصميم (حاسوب)|عصابة الأربعة]] )[[:en:Gang_of_Four_(software)|Gang Of Four]])
 
غالبًا ما يتطلب إنشاء كائن عمليات معقدة غير مناسبة لتضمينها في كائن إنشاءcomposingإنشاء (composing object). قد يؤدي إنشاء الكائن إلى ازدواجية كبيرة في التعليمات البرمجية، وقد يتطلب معلومات لا يمكن الوصول إليها للكائن المؤلف، وقد لا يوفر مستوى كافًا من التجريدabstraction ،التجريد، أو قد لا يكون جزءًا من شؤون الكائن المؤلف composing object's [[:en:Concern_(computer_science)|concerns]]. يعالج نمط تصميم طريقة المصنع هذه المشاكل من خلال تحديد طريقة منفصلة لإنشاء الكائنات، والتي يمكن [[وراثة (حوسبة)|للاصناف الفرعية]] تجاوزها لتحديد نوع المنتج المشتق<a href="https://en.wikipedia.org/wiki/Subtype" rel="mw:ExtLink" title="Subtype" class="mw-redirect cx-link" data-linkid="45">derived type</a> of product الذي سيتم إنشاؤه.
 
يعتمد نمط طريقة المصنع على الوراثةinheritance ، حيث يتم تفويضdelegated إنشاء الكائن إلى الاصناف الفرعية subclasses التي تطبق طريقة المصنع لإنشاء الكائنات. <ref>{{استشهاد بكتاب|مؤلف1=Freeman|سنة=2004|تاريخ الوصول=2012-09-12|ISBN=978-0-596-00712-6|تنسيق=paperback|ناشر=O'REILLY|صفحة=162|المجلد=1|عنوان=Head First Design Patterns|محرر2=Loukides|الأول=Eric|محرر1=Hendrickson|الأول4=Bates|الأخير4=Bert|الأول3=Sierra|الأخير3=Kathy|الأول2=Elisabeth|مؤلف2=Freeman|مسار=https://www.oreilly.com/library/view/head-first-design/0596007124/| مسار أرشيف = https://web.archive.org/web/20200430035509/http://shop.oreilly.com/product/9780596007126.do | تاريخ أرشيف = 30 أبريل 2020 }}</ref>