سؤال

رمز المصدر CodeCampServer يحتوي على عام staticfactory..

أشعر بزيادة أن هذه جزءا رئيسيا من الآلية لكيفية تشغيل الإطار جيدا مع حقن التبعية.

الفئات الفئة الفرعية التي تستخدمها Defaultunconfiguredate لتوفير إمكانية الوصول الثابتة إلى، حسنا، الحالة غير المطوقة الافتراضية لأنفسها والتي يمكن أن تحل آلية قرار التبعية محل الأشياء العاملة.

لم أتمكن من العثور على أي وثائق لهذا ...

هل هناك تفسير جيد في الكتابب (أنا في انتظار التسليم من الأمازون ...)

... أو هل يمكن لأي شخص آخر تقديم تعليق جيد على ما هو عليه وما إذا كنت سأكون حكيما لاعتماد هذا النمط (إذا كان واحدا ...)؟

تحديث

نظرا لأن Jeffrey Palermo ردت على هذا السؤال الذي أرى أنه في مخطوطة (قيد التطوير) في العمل MVC2 في العمل، تتم مناقشة هذا النمط / النمط وتمثيله باستخدام مصنع يستخدم لتحديد موقع مستودع من أجل الحفاظ على طبقة المجال مخاوف الاستمرار. (يرى الفصل 23.).

بشكل افتراضي، فإن استخدام هذا المصنع يلقي استثناء:

"معرفة كيفية إنشاء المستودع لا يقيم مع المصنع. هذا المصنع يمثل فقط القدرة على إعادة المستودع"

يمكن أن تستخدم المثال واحدا من عدة آليات لتهيئة تنفيذ ملموس لواجهة المستودع. في المثال في الكتاب الذي يختارون عدم استخدام حاوية IOC من أجل البساطة وتزويده صراحة في بعض المنطق الناشئ.

"الشيء المهم هو أن المشروع الأساسي ولا مشروع UI يجب أن يشير إلى مشروع البنية التحتية أو المكتبات التي هي البنية التحتية البحتة في الطبيعة. لقد احتفظنا بتخريج تماما إلى الجانب حتى لا يهمني بقية التطبيق كيف الوصول إلى البيانات يحدث "

النقطة النهائية التي يجب ملاحظتها حول رمز المثال في هذا الفصل الجديد هي أن المصنع لم يعد ثابتا (على الأقل لا يتعلق بواجهة المواجهة الخارجية).

تحديث 2.

السيد باليرمو بلوق أكثر عن هذا النمط بالذات من مصنع مجردة (انظر مفاضة الأمراض المردية).

أنا أيضا يمكن أن فقط النظر في "حقن التبعية اليدوية" (العم بوب).

تحديث 3 - مارس 2016

هناك مثال آخر عليه هنا, على الرغم من أن جيفري صريح حول هذا كونه رمز تجريبي، ويشير التعليق إلى أنه سيتم تكوين هذا في ما سيتصل مارك سيمان تكوين الجذر (أي في بدء تشغيل التطبيق)

لقد اكتشفت هذا في مقالة جيفري "بنية البصل: الجزء 4 - بعد أربع سنوات"

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

المحلول

سؤال جيد. أنا لا أحب ذلك أيضا. يجب تسميته حقا "بدء التشغيل"، ولكنه موجود في قائمة إعادة المرسل.

لعبنا حول هذه الفكرة كوسيلة لإعداد DI للأماكن التي لم تكن تحت حقن المنشئ عبر الحاوية.

سوف تذهب بعيدا. لا أعرف ما هو نظام مكافحة النمط (ما الاسم؟)، لكنه سيموت.


الآن تم إعادة تسميته اعتبارا من هذا الصباح. هو الآن مجردة القبيزة. إنه تنفيذ نمط المصنع مجردة: http://en.wikipedia.org/wiki/abstract_perory_pattern.

إن تنفيذ المصنع هو الانتهاء من مواعيد موزع IOC، لكنه يسمح بالوصول من مكان في التعليمات البرمجية دون مرجع التجمع إلى جمعية حاوية IOC.

التحيات، جيفري باليرمو

نصائح أخرى

أي شيء ثابت هو عدو من دي.

هذه staticatory تبدو وكأنها تنفيذ محدد الخدمة (نمط مكافحة).

أفكر في تحديد موقع الخدمة ليكون مضادا للنمط، لأنه معبر تماما لمستخدم API الذي تحتاج إلى أن تكون التبعيات في مكانها؛ وبالتالي، يمكن للمرء أن يستدعي بسهولة طرق حول الكائنات في سياق حيث يرمي محدد موقع الخدمة، ويعطيك واجهة برمجة التطبيقات أي دليل على الإطلاق أن هذا هو الحال.

مناسبة دي مثل استخدام غزير حقن منشئ هو بديل أفضل بكثير.

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