ازالة توابع الإعدادات (Remove Setting Method)

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

المشكلة

يكون تعيين قيمة الحقل فقط عند إنشائه، ولا تتغير في أي وقت لاحق.

الحل

إزالة التوابع التي تضبط قيمة الحقل.

مثال

قبل إعادة التصميم

يضبط التابع ()setImmutableValue قيمةً غير قابلة للتغيير أو التعديل في المستقبل:

يغيّر التابع من قيمة الحقل.
يغيّر التابع من قيمة الحقل.

بعد إعادة التصميم

حذف التابع ()setImmutableValue من الصنف Customer:

إزالة التابع الذي يضبط قيمة الحقل.
إزالة التابع الذي يضبط قيمة الحقل.

لم إعادة التصميم؟

إذا كنت تريد منع أي تغييرات في قيمة الحقل.

آلية الحل

  1. يجب أن تكون قيمة الحقل قابلة للتغيير فقط في الباني. إذا كان الباني لا يحتوي على معامل لضبط القيمة، أضف واحدًا.
  2. ابحث عن جميع استدعاءات الضابط.
    • إذا وُضِع استدعاء ضابط مباشرة بعد استدعاء باني الصنف الحالي، انقل وسيطه إلى استدعاء الباني واحذف الضابط.
    • استبدل استدعاءات الضابط في الباني بالوصول المباشر إلى الحقل.
  3. احذف الضابط.

انظر أيضًا

مصادر