ما هو الحد الأقصى لعدد متغيرات الحالة التي يجب أن تحتوي عليها فئة Java؟

هل من الجيد أن يكون تصميم OO لمتغيرات الحالة 20-25 في فئة JAVA ، مع الستر/المستقر؟
جميع المتغيرات مستقلة تماما.
أثناء استخدام فئة في HBase ، والتي تمثل عائلة عمود ، بحيث يمكن أن تحتوي مجموعة الأعمدة على عدد مختلف من الأعمدة لكل صف. لذلك يجب أن أضع هذا العدد الكبير من المتغيرات في تلك الفئة. أنا فضولي جدا لمعرفة ذلك ، كم عدد المتغيرات والطرق التي يجب على طبقة JAVA أن تكون مثالية؟

4

5 إجابة

في محاولة أن يكون لديك OO جيد ، من الجيد أن تبحث عن الصف لتحمل مسؤولية واحدة. لذلك إذا كان لديك العديد من المتغيرات غير ذات الصلة ، يبدو أن الطبقة تفعل الكثير.

هذا من شأنه أن يكون "رائحة الكود" ، ويجب عليك إعادة التفكير في فئات متعددة.

انها كبيرة كنت مهتما في OO جيدة. أوصي القراءة حتى في إعادة بيع ديون والروائح الكريهة.

http://c2.com/cgi/wiki?OneResponsibilityRule would be relative here..

7
وأضاف
قد يتم أيضًا تطبيق en.wikipedia.org/wiki/God_object .
وأضاف المؤلف Eric, مصدر

لا يهم بالفعل ما دمت تضمن انخفاض الازدواج . قد يؤدي تعيين العديد من المتغيرات للفئة إلى زيادة فرص اقتران عالية.

قد يكون أيضًا علامة على انخفاض التماسك في صفك ، الوضع المثالي للتماسك العالي.

4
وأضاف

في متغيرات الحالة 20-25 ، يجب أن تكون ضمن الحد ، ومع ذلك ، أعتقد أن 20-25 قد يكون أكثر من اللازم. يمكنك محاولة تجميعها في فئات مختلفة وتقليل مقدار متغيرات الحالة.

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

2
وأضاف

حسنا ، إذا كان صفك يمثل كائنات حامل البيانات ، فإنه من الجيد تماما أن تذهب مع ذلك. هذا التصميم شائع في حبوب جافا.

على سبيل المثال ، إذا كان لديك صف يمثل موظفًا في شركة ، فمن المعتاد تمامًا ، إذا كان الموظف لديه سمات 20-25.

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

لجعله أكثر هندسيًا ، يمكنك التفكير في الوراثة (فئة فرعية) أو تكوينها (الطبقة الداخلية)

0
وأضاف

لا تحتوي Java على أي قيود على متغير مثيل جافا الذي يمكن أن يحتوي عليه الفصل. حسب متطلباتك ، يمكنك الحصول على أي عدد من متغيرات الحالة.

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

يجب أن يتم الإعلان عن متغير مثيل النظام مع معدِّلات خاصة ويجب توفير طرق عامة للوصول إليها ومعالجتها.

0
وأضاف