يمكن أن تكون الكائنات غير القابلة للتغيير مفيدة فيالتطبيقات متعددة الخيوط. يمكن أن تعمل الخيوط المتعددة على البيانات التي يتم تمثيلها بواسطة كائنات غير قابلة للتغيير دون القلق من تغيير البيانات بواسطة مؤشرات ترابط أخرى. لذلك تعتبر الكائنات غير القابلة للتغيير أكثر أمانًا من الخيط من الكائنات القابلة للتغيير.
ما هو الهدف من الأشياء غير القابلة للتغيير؟
الاعتماد الأقصى على الكائنات غير القابلة للتغيير مقبول على نطاق واسع باعتبارهاستراتيجية سليمة لإنشاء رمز بسيط وموثوق. الكائنات غير القابلة للتغيير مفيدة بشكل خاص في التطبيقات المتزامنة. نظرًا لعدم تمكنهم من تغيير الحالة ، فلا يمكن إتلافها عن طريق تداخل الخيط أو ملاحظتها في حالة غير متناسقة.
ما هي الأشياء التي يجب تسميتها غير قابلة للتغيير؟
الكائنات غير القابلة للتغيير هيمجرد كائنات لا يمكن تغيير حالتها (بيانات الكائن) بعد الإنشاء. تتضمن أمثلة الكائنات غير القابلة للتغيير من JDK String و Integer. تعمل الكائنات غير القابلة للتغيير على تبسيط برنامجك إلى حد كبير ، لأنها: سهلة الإنشاء والاختبار والاستخدام.
كيف تنفذ كائنًا غير قابل للتغيير؟
لإنشاء كائن غير قابل للتغيير ، عليك اتباع بعض القواعد البسيطة:
- لا تقم بإضافة أي طريقة ضبط.
- التصريح عن كل الحقول نهائية و خاصة.
- إذا كان الحقل عبارة عن كائن قابل للتغيير ، فقم بإنشاء نسخ دفاعية منه لطرق getter.
- إذا كان يجب تعيين كائن قابل للتغيير تم تمريره إلى المنشئ إلى حقل ، فقم بإنشاء نسخة دفاعية منه.
أين نحناستخدام فئة غير قابلة للتغيير في جافا؟
الفئات غير القابلة للتغيير تجعل البرمجة المتزامنة أسهل. تتأكد الفئات غير القابلة للتغيير من عدم تغيير القيم في منتصف العملية دون استخدام الكتل المتزامنة. من خلال تجنب حظر المزامنة ، فإنك تتجنب المآزق.