الكثير MVC الخدمات تجعل منشئ تحكم كبيرة جدا.

StackOverflow https://stackoverflow.com/questions/333188

  •  22-07-2019
  •  | 
  •  

سؤال

وأنا يختتم بعد حوالي 20 معلمات مختلفة في منشئ فئة نموذج واحد لكل خدمة؟ هل هذا طبيعي أو علامة على أن شيئا ما هو خارج.

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

المحلول

وأعتقد، بشكل قاطع، أن وحدة التحكم الخاصة بك يتفاعل مع الكثير من الخدمات. أنا لم أر التعليمات البرمجية الخاصة بك - لذلك أنا ذاهب من الافتراضات - ولكن يبدو لي أن وحدة التحكم الخاصة بك هو تركيب منطق الأعمال من خلال الدعوة العديد من الخدمات "صغيرة"، بدلا من الاعتماد على خدمات أقل، "أكبر" التي تشكل منطق الأعمال من الدوائر الأصغر.

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

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

نصائح أخرى

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

واللثوغ لا أعرف الإعداد الخاص بك. 20 يبدو قليلا بكثير وأعتقد أن من يقف ضد SRP (واحد المسؤولية priniciple). ولكن منذ أن كنت لا تستطيع رؤية الشفرة أنه من المستحيل أن أقول. إذا كنت حقا بحاجة الى كل هذه الخدمات في تلك الفئة نموذج واحد ثم ربما تحتاج إلى وضعها في factoryclass واستخدام ذلك كمعلمة.

ومن الصعب إعطاء أي إجابة جيدة على هذا لأننا لا نعرف نطاقك.

وكماMatt قال حقن التبعية يمكن أن تساعدك هنا وsprint.NET هو فكرة جيدة، وهناك العديد من الآخرين.

وكما نرى أذكر لكم MVP على وجه الخصوص، يجب على الأقل النظر في <لأ href = "http://www.microsoft.com/downloads/details.aspx؟FamilyId=1643758B-2986-47F7-B529-3E41584B6CE5&displaylang= أون "يختلط =" نوفولو noreferrer "> اينت ليب 4.1 التي لديها الآن على الوحدة ، أو اتخاذ مايكروسوفت على DI. من كود بلاكس الموقع من المحتمل ان يكون مكان جيد للبدء إذا كان هذا هو الجديد.

وهناك أيضا المصانع البرمجيات أن على تتكامل مع استوديو البصرية وتعطي لك أدوات لخلق MVP لمواقع الويب وخدمات مرتبطة أو على شبكة الإنترنت. هذه تأتي من نمط والممارسات للغاية.

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