HeadlinesBriefing HeadlinesBriefing.com

دليل فئات محظورة في جافا ونمط مطابقة شاملة

Hacker News •
×

أدخلت جافا 17 الفئات المقفولة، التي تتيح للمطورين تحديد صريح لأنواع الفرعية المسموح بها من واجهة أو فئة. هذه الميزة تتيح المطابقة الشاملة، مما يتيح للمترجم التحقق من أن جميع الحالات مغطاة في تعبير switch دون الحاجة إلى بند افتراضي. على سبيل المثال، يمكن استخدام واجهة مقفولة `SealedType` مع الفئات الفرعية `TypeA` و `TypeB` في تعبير switch الذي يتعامل فقط مع هذه الحالتين، مما يلغي الحاجة إلى بند افتراضي.

ومع ذلك، فإن هذا يثير نوعًا جديدًا من التغيير المدمّر: إضافة نوع فرعي جديد إلى فئة مقفولة سيُكسر كود المستهلك إذا لم يُعاد تجميعه. إذا لم يُعاد تجميع المستهلك، فقد يحدث استثناء وقت التشغيل (مثل `MatchException`) عندما يتم تفعيل الحالة الجديدة. هذا مثير للقلق بشكل خاص عندما تُعرض الفئات المقفولة في واجهات برمجة التطبيقات العامة، حيث قد يؤدي التجميع المتقطع إلى فشل غير مكتشف.

الفئات المقفولة أكثر فائدة في تنفيذ وحدة واحدة، حيث يتم تجميع جميع الكود معًا. عند استخدامها عبر حدود الموديلات، قد تُدخل طرقًا جديدة لكسر الكود التي تُكتشف فقط وقت التشغيل. يجب على المطورين التفكير بعناية فيما إذا كانت الفئات المقفولة مناسبة لواجهات برمجة التطبيقات العامة.

المصدر: Hacker News · لخّصه HeadlinesBriefing