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

من موسوعة حسوب
< Refactoring
مراجعة 14:58، 26 فبراير 2019 بواسطة جميل-بيلوني (نقاش | مساهمات) (مراجعة وتدقيق.)
(فرق) → مراجعة أقدم | المراجعة الحالية (فرق) | مراجعة أحدث ← (فرق)
اذهب إلى التنقل اذهب إلى البحث

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

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

أسبابها

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

وما الحل؟

إليك المزيد

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

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

انظر أيضًا

مصادر