أصناف البيانات (Data Classes)

من موسوعة حسوب
< Refactoring
مراجعة 13:26، 30 سبتمبر 2018 بواسطة Nourtam (نقاش | مساهمات) (أنشأ الصفحة ب'<noinclude>{{DISPLAYTITLE:أصناف البيانات (Data Classes)}}</noinclude> == توصيف المشكلة == وجود العديد من أصناف البيانات...')
(فرق) → مراجعة أقدم | المراجعة الحالية (فرق) | مراجعة أحدث ← (فرق)
اذهب إلى التنقل اذهب إلى البحث
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.

توصيف المشكلة

وجود العديد من أصناف البيانات في الشيفرة، والتي تُستخدَم لتخزين البيانات التي تحتاج إليها الأصناف الأخرى، إذ تحتوي على حقولٍ للبيانات (fields) وتوابع للوصول إليها (accessors) أي توابعَ للحصول على بيانات الحقول (getter) وأخرى لتعديلها (setter)، ولا تقوم هذه الأصناف بأيّ مهمّة أخرى ولا تستطيع كذلك تنفيذ العمليات (operations) على بياناتها بمفردها.

أسبابها

من الطبيعي أن يحتوي الصنف -بادئ الأمر- على القليل من الحقول العامّة (public fields) وبعض التوابع للوصول إليها (accessors) ولكن إن استمرَّ الصنف كذلك فلن تتمتَّعَ الكائنات (objects) المُشتقَّة عنه بقوة التحكُّم ببياناتها وإجراء العمليَّات عليها.

وما الحل؟

إليك المزيد

سيساعد حلُّ المشكلة في:

  • تسهيل فهم الشيفرة وتحسين تنظيمها، فقد أصبحت العمليات المتعلِّقة بتلك الحقول مُجمَّعةً في مكانٍ واحدٍ بدلًا من وجودها بأجزاء متفرِّقة.
  • الكشف عن مواضع التكرار (duplicates) في شيفرة العميل (client code).

انظر أيضًا

مصادر