تعليمات التصميم - كائن يعدل ويحفظ كائن آخر

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

  •  16-09-2020
  •  | 
  •  

سؤال

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

هنا هو السيناريو:

لدي فئة موظف أن فئة الموظف لها قائمة بأكائن Office (حيث يعمل الموظف وعمل). لدي شرط لإنشاء القدرة على تحويل موظف بين المكاتب. هناك بعض النفقات العامة الإضافية لطلب النقل (الموافقات والمراجعات) ولكن في النهاية الموافقات يجب أن تتسبب كائن التحويل الخاص بي في تغيير قائمة Office Office الموظف.

أنا أستخدم C # و EF4 و POCO لكائناتي. لست متأكدا من كيفية طراز كائن النقل. ستستمر في بعض الوقت وقد لا تكتمل لبضعة أيام (يجب أن تكتمل الموافقات قبل الاستمرار إليها). يحتاج كائن النقل إلى معرفة الموظف لتعديل المكتب الجديد للموظف. أشعر أنني تصميم سيء لجعل الموظف طفل كائن النقل وتعديله هناك. أنا فقط أتساءل ما إذا كان أي شخص لديه أي نصيحة حول كيفية نموذج هذا الشرط.

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

المحلول

يمكنك التعامل مع النقل ككائن منفصل تماما - SupplieseetRansfer.

كحد أدنى، سيتضمن البيانات التالية: 1. المعرف الفريد للموظف. 2. المعرف الفريد لنقل من المكتب. 3. المعرف الفريد لنقل إلى مكتب. 4. مؤشر الحالة للتقدم المحرز في النقل.

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

المتطلبات الأساسية الوحيدة لهذا الحل هو أن الموظف والمكاتب يجب أن توجد قبل إنشاء النقل.

نصائح أخرى

يبدو مثل النقل ليس كائن، إنه سير عمل.انظر إلى Windows Workflow Foundation ... إليك مثال QuickStart جيد.

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

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