سؤال

ما هو الفرق بين نمط البناء ونمط الوزن من حيث الاستخدام، حيث يتناول كل منهما عددا كبيرا من الكائنات؟

هل كانت مفيدة؟

المحلول

يتم استخدام نمط البناء ل خلق العديد من الأشياء، حيث يكون نمط ثوب الوزن مشاركة مثل هذه المجموعة من الأشياء.

هذان الأنماطان كلاهما مع "المركبات"، أي كائنات قد تحتوي على العديد من العناصر، لكنها لا تحتاج إلى استخدامها معا على الإطلاق. حالة استخدام النمط للنموذج مجموعة من عدد قليل من أحرف الكائنات يتم استخدامها مرارا وتكرارا في تطبيق محرر النصوص (هذا هو المثال الوارد في كتاب "GOF")

نصائح أخرى

مباشرة من ويكيبيديا.

flyweight.

Flyweight هو نمط تصميم البرمجيات. Flyweight هو كائن يقلل من استخدام الذاكرة من خلال مشاركة أكبر قدر ممكن من البيانات مع الأشياء المشابهة الأخرى؛ إنها وسيلة لاستخدام الكائنات بأعداد كبيرة عندما يستخدم تمثيلا متكرر بسيط كمية غير مقبولة من الذاكرة.

باني

نمط Builder هو نمط تصميم البرمجيات. القصد من ذلك هو مجردة خطوات بناء الأشياء بحيث يمكن أن تقوم تطبيقات مختلفة لهذه الخطوات بإنشاء تمثيلات مختلفة للكائنات.

يساعد المرء في بناء الكائنات والمساعدة الأخرى في استخدام الذاكرة. من المحتمل أن تستخدم منشئ "بناء" كائنات مختلفة من الوزن.

نمط Flyweight مناسب عندما "يجب معالجة العديد من الكائنات وأنها لا تستطيع تحمل بيانات غريبة." في جافا، تتم إدارة كائنات السلسلة كطفل. يضع Java جميع حرفيات السلسلة الثابتة في حمام سباحة حرفي. بالنسبة للحرف الزائد، تحافظ جافا على نسخة واحدة فقط في حمام السباحة.

المفتاح لصنع عمل الوزن ذوي الوزن هو عن طريق التحكم في إنشاء كائن باستخدام طريقة المصنع أو نمط تصميم منشئ. إن مهمة طريقة المصنع هي ببساطة إنشاء كائنات: معايير الإدخال المعطاة، إرجاع كائن من النوع المناسب.

المصنع مجردة يشبه باني في أنه قد يؤدي أيضا إلى بناء أشياء معقدة. الفرق الأساسي هو أن نمط Builder يركز على بناء كائن معقد خطوة بخطوة. تركيز عامل مجردة على أسر كائنات المنتج (إما بسيطة أو معقدة).

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top