بسم الله الرحمن الرحيم
لعل أحدكم بعد أن يكبر مشروعه يبدأ يشعر أن برنامجه يعاني ببطء في الإقلاع وربما يعود ذلك لكثرة التهيئات الأولية للمجموعات والمصفوفات واللوائح
وقد تكون المجموعة مكونة من عدد كبير من فئة ما ولتكن MyClass
ولربما هذه الفئة تحتوي في مشيدها Constructor بعض الاستدعاءات والعمليات اللتي تستغرق زمن
فما العمل إذا :
في هذه الحالة ربما تنفعنا الفئة Lazy التي من أهم أهدافها حل هذه المشكلة
الفئة ليزي هي من النوع العام أي جينيرك Generic أي يجب إلحاقها بفئة أخرى
مثال :
Lazy<MyClass>
و وظيفتها الرئيسية عدم تشكيل كائن من الفئة المستهدفة إلا حين الطلب
حيث تحتوي على خاصية Value تعيد كائن من النوع المرتبط بها و لا يتم إنشاؤه إلا عندما يتم قراءة الخاصية Value لأول مرة
و بالتالي لو جعلنا عناصر المصفوفات الكبيرة من النوع ليزي حينها نضمن أنه لن يتم تشييد جميع الكائنات وبالتالي ستهيأ المصفوفة بشكل سريع
وفقط بعد الإقلاع وعمل البرنامج كل عنصر من اللائحة أو المصفوفة أو المجموعة يتم قراءته حينها فقط سيتم تشييد الكائن وطبعا سيكون لأول مرة فقط
لأنه عند القراءات التالية للخاصية Value سيكون الكائن مشيد
لمزيد من المعلومات حول الكلاس ليزي Lazy