سؤال

سؤالي ليس كثيرا عن استخدام واجهات ولكن أكثر من مشروع المنظمة الطبيعة.

ملاحظة:أنا باستخدام VisualStudio في متعدد الطبقات التطبيق.

يجب أن واجهة بلدي ملفات يعيش في مشروع منفصل من تطبيقات? فكرتي الأولى هي أنه سيكون من المفيد أن فصل جميع الخدمات واجهات في المشروع (مشروع بلدي الأولية تطبيقات) حيث أن الطريق تنفيذ/مشروع ملموس يمكن إزالتها واستبدالها بأخرى جديدة إذا لزم الأمر.

مع توضيح مثال:لنفترض أن لدي عمل طبقة واجهة تسمى IBusinessService الذي يعيش في MyApp.الأعمال التجارية.خدمات مساحة الاسم.بلدي تنفيذ FooBusinessService موجودة في نفس مساحة الاسم ، ولكن مشروع مختلف في VisualStudio.إذا كان لاحقا على تنفيذ بحاجة إلى إعادة صياغة, مطور يمكن إزالة الإشارة إلى FooService.proj واستبدالها إشارة إلى BarService.proj.

هذا يبدو أنه قد declutter التطبيق الحل عن طريق السماح لك مرجع إلى المشروع مع واجهات دون الحصول على تطبيقات ملموسة (التي قد تكون قديمة أو من لا استخدام لكم), ولكن أنا في عداد المفقودين شيئا ؟

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

المحلول

أنا معك.أنا أفضل أن أضع واجهات في مشروع منفصل في مساحة الاسم.المثال الكلاسيكي هو مع الوصول إلى البيانات الطبقات.كنت تريد أن تكون قادرة على رمز MSSQL نسخة MySQL الإصدار ، سواء تنفيذ نفس واجهة.على هذا النحو, أنا أفضل أن تعريف واجهة تكون منفصلة الجمعية/المشروع.هنا مثال على كيفية وضع الجمعيات و مساحات الأسماء:

  • الأكبر.DataAccess.النواة تحتوي على واجهات المرافق المشتركة
  • الأكبر.DataAccess.MSSQL محددة MSSQL تطبيقات واجهات
  • الأكبر.DataAccess.الخلية - الخلية المحددة تطبيقات واجهات

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

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