Language مبتدئ

أضف دوال أدوات ثابتة مباشرةً للواجهات بدلاً من فئات أدوات منفصلة.

✕ Java 7
// Separate utility class needed
public class ValidatorUtils {
    public static boolean isBlank(
        String s) {
        return s == null ||
               s.trim().isEmpty();
    }
}

// Usage
if (ValidatorUtils.isBlank(input)) { ... }
✓ Java 8+
public interface Validator {
    boolean validate(String s);

    static boolean isBlank(String s) {
        return s == null ||
               s.trim().isEmpty();
    }
}

// Usage
if (Validator.isBlank(input)) { ... }
هل ترى مشكلة في هذا الكود؟ أخبرنا.
📦

تنظيم أفضل

أبقِ الأدوات ذات الصلة مع الواجهة لا في فئة منفصلة.

🔍

قابلية الاكتشاف

دوال المصنع والمساعدة موجودة أين تتوقعها.

🧩

تماسك الواجهة البرمجية

لا حاجة لفئات *Utils أو *Helper منفصلة.

الأسلوب القديم
فئات الأدوات
الأسلوب الحديث
الدوال الثابتة في الواجهات
منذ JDK
8
الصعوبة
مبتدئ
الدوال الثابتة في الواجهات
متاح

متاح منذ JDK 8 (مارس 2014)

قبل Java 8، كانت دوال الأدوات المرتبطة بواجهة يجب أن تعيش في فئة منفصلة (مثل Collections لـ Collection). تتيح الدوال الثابتة في الواجهات إبقاء الأدوات ذات الصلة معاً. شائعة في الواجهات البرمجية الحديثة مثل Comparator.comparing() و Stream.of() و List.of().

مشاركة 𝕏 🦋 in