سؤال

المشكلة: تعرض وحدة التحكم على شبكة الإنترنت لدينا قائمة بجميع أجهزة الكمبيوتر التي يتم تثبيت تطبيقنا. تحتوي كل آلة على بعض معلومات الهوية التي يمكن ربطها به. سلاسل بسيطة مثل اسم القسم، اسم الفريق وما إلى ذلك. نحتاج إلى تحقيق ذلك بحيث يمكن للمستخدم تغيير اسم حقول الهوية هذه وإضافة / إزالة أكبر عدد ممكن. كيف يمكننا تنفيذ هذا أفضل ذلك؟

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

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

أي اقتراحات؟

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

المحلول

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

أنا لست من محبي كبير باستخدام Singleton للقيام بذلك. من الصعب اختبار الوحدة، ولا يزال عليك الاستمرار في قاعدة البيانات في نهاية المطاف.

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