سؤال

هل من الممكن استخدام DDD ونموذج المجال الغني إذا كان تطبيقك مثل:

  • عميل ويندوز (WPF)
  • خدمة ويندوز

ويحدث التواصل مع WCF؟

لقد اعتدت أن يكون لدي DTO مع حالة البيانات فقط، ولدي قواعد عمل داخل طبقة الخدمة، لكن الجميع يخبرني باستمرار أنه يجب أن يكون لدي نموذج مجال غني حيث تكون حالة البيانات والقواعد/الأساليب كلها في الكائنات نفسها.

لست متأكدًا مما إذا كان نموذج المجال الغني هذا سينطبق على نظام يحتوي على واجهة مستخدم ويتصل عبر WCF بالخدمة (كما قدمت أعلاه).في حالتي، هل من الأفضل الاستمرار في استخدام نموذج مجال مصاب بفقر الدم بسبب WCF؟إذا لم يكن الأمر كذلك، هل يمكنك تقديم مثال حول كيفية تصميمه باستخدام نموذج مجال غني، مع الأخذ في الاعتبار WCF والوكيل وما إلى ذلك؟

شكرًا!

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

المحلول

بشكل عام، يمكنك إجراء تسلسل لكائنات المجال الخاص بك لنقلها عبر WCF كبعض DTO المبسط على أي حال، وهذه هي التي يستهلكها تطبيق العميل الخاص بك.

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

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