سؤال

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

من الصعب التعبير عن مشكلتي، ومثل المبرمجين الآخرين لا يعانون من هذه المشكلة.وهذه صورة لجزء من البرنامج:مخطط الطبقة

  • ex1.عندما أقوم بإنشاء كائن وجهة فإنه يحتاج إلى معلومات من Infopanel.كيف يمكن القيام بذلك دون إنشاء حرف ثابت في InfoPanel؟

  • ex2.يتم استخدام DestinationRouting في كل فرع.هل يجب علي حقًا أن أقوم بذلك في البداية ثم أنقله إلى جميع الفروع؟

لست متأكداً مما إذا كان هذا منطقيًا لأي شخص :) إنها مشكلة تهيق في كل مشروع.

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

المحلول

هناك القليل من المعلومات هنا.على سبيل المثال، أنا لست متأكدا حتى إذا كان MapPanel و InfoPanel ينبغي أن تكون على ما هي عليه.سأميل إلى تجربة نمط الديكور لما يستحقه.لا أعرف لماذا يكون المستمع ابنًا للجنة أيضًا.نحن بحاجة إلى معرفة ما هي هذه الأشياء وما هو هذا النظام.

نصائح أخرى

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

من أجل الحصول على فهم أفضل لنموذج الكائن الخاص بك، سأحاول تصنيف العلاقات (الخطوط) في الرسم التخطيطي للفصل الخاص بك كواحدة من "is-a" و"has-a" وما إلى ذلك.حتى تتمكن من رؤية ما لديك بشكل أفضل.

تحتاج الوجهة إلى بعض المعلومات من InfoPanel، ولكن ليس من المحتمل أن تكون جميع المعلومات.هل من الممكن تمرير المعلومات المطلوبة فقط إلى الوجهة بدلاً من InfoPanel؟

ما هي الحالة التي يتم التقاطها في فئة DestinationRouting والتي تجبرها على أن تكون مفردة؟هل تنتمي هذه المعلومات إلى مكان آخر؟

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