سؤال

ما هو كسول التحميل ؟

[عدل بعد قراءة بعض الردود] لماذا الناس استخدام هذا المصطلح في كثير من الأحيان ؟

أقول لك فقط استخدام ASP/مجموعة سجلات ADO و تحميله مع البيانات أو ADO.NET Datasource عن gridview.

أعتقد أنني يجب أن يكون طلب لماذا يستخدم الناس مصطلح تحميل كسول ما "أخرى" هي أنواع ؟

هل كانت مفيدة؟

المحلول

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

إذا كنت غريبة لماذا الناس قد تستخدم تحميل كسول, النظر في طلب أن يأخذ LOOOOONG الوقت للبدء.هذا التطبيق هو ربما تفعل الكثير من حريصة تحميل...تحميل الأشياء من القرص, و إجراء الحسابات وغيرها قبل وقت طويل من أي وقت مضى الحاجة.

قارن هذا إلى تحميل كسول, التطبيق سوف تبدأ أسرع بكثير ، ولكن بعد المرة الأولى كنت بحاجة إلى القيام بشيء ما يتطلب بعض الطويلة الحمل ، قد تكون هناك وقفة طفيف في حين يتم تحميله للمرة الأولى.وهكذا مع تحميل كسول ، يتم إطفاء وقت تحميل جميع أنحاء بالطبع من تشغيل التطبيق الخاص بك...و في الواقع قد حفظ من تحميل الأمور أن المستخدم قد لا تنوي استخدام.

نصائح أخرى

تحميل كسول هو البرمجة الممارسة التي يمكنك فقط تحميل أو تهيئة كائن عند أول حاجة إليها.هذا يمكن أن تعطيك تعزيز الأداء الكبير, وخاصة إذا كان لديك الكثير من المكونات في التطبيق الخاص بك.

كالعادة ، ويكيبيديا لديه المزيد من التفاصيل.

تحميل كسول هو مفهوم أين نحن تأخير التحميل من وجوه الوحدة النقطة التي نحن في حاجة إليها.وضع في كلمات بسيطة على الطلب كائن التحميل بدلا من التحميل الكائنات دون داع.فعلى سبيل المثال إذا كان لديك "العملاء" الطبقة التي "أوامر" كائن المجمعة.إذا كنت ترغب في تحميل بيانات العملاء ولكن أوامر الكائنات التي ترغب في تأخير حتى التطبيق الخاص بك يحتاج إليها.

وفيما يلي فيديو يوتيوب الذي يوضح كيفية استخدام تحميل كسول , كيف يمكننا تنفيذ كسول التحميل و مزايا و عيوب نفسه.

http://www.youtube.com/watch?v=2SrfdAkwmFo

ويكيبيديا تعريف تحميل كسول هو نمط تصميم يشيع استخدامها في برمجة الكمبيوتر إلى إرجاء تهيئة كائن إلى النقطة التي تحتاج إلى ذلك....

http://en.wikipedia.org/wiki/Lazy%20loading

مصطلح تحميل كسول يستخدم عادة عندما نتحدث عن كائن علائقي المخططون.إذا كنت تستخدم ADO.NET مباشرة تحصل دائما حريصة التحميل (أي أنه دائما الأحمال فقط ما تحدده).

أو المخططون مثل nHibernate دعم العائدين الوكيل الكائنات التي تحصل على "ملء" مع البيانات الصحيحة فقط عند الوصول إلى البيانات.بهذه الطريقة يمكنك فقط تحميل البيانات التي تستخدم حقا.هذا هو ميزة مفيدة عند تحديد الكثير من العلاقات بين الكائنات التي يمكن تحميلها من قاعدة البيانات, كنت لا تريد أو مخطط لتحميل جميع الكائنات ذات الصلة و الكائنات ذات الأجسام ذات الصلة وهلم جرا.التي يمكن أن تؤدي في قاعدة البيانات بأكملها الحصول على تحميلها.

يمكن منع هذه المشكلة عن طريق متأن تصميم نموذج كائن أيضا.(باستخدام المجاميع فقط التحميل الكلي جذور في المجال يحركها التصميم هو طريقة للالتفاف على هذا دون استخدام تحميل كسول).

تحميل كسول يمكن أن يؤدي أو مخطط تفعل الكثير من بيانات صغيرة يصل بدلا من استرجاع جميع البيانات التي تحتاجها مرة واحدة.هذا يمكن أن يؤدي إلى مشاكل في الأداء أيضا.

هنا مثال من بعض الفعلية كود بايثون كتبت:

class Item(Model):
    ...
    @property
    def total(self):
        if not hasattr(self, "_total"):
            self._total = self.quantity \
                  + sum(bi.quantity for bi in self.borroweditem_set.all())
        return self._total

في الأساس لدي الدرجة البند الذي يمثل هذا البند في المخزون لدينا.إجمالي عدد العناصر لدينا هو عدد أننا الخاصة بالإضافة إلى مجموع كل من البنود التي نحن الاقتراض من مصادر مختلفة.هذه الأرقام المخزنة في قاعدة البيانات لدينا ، وسيكون من غير المجدي أن حساب هذا حتى يكون المجموع هو في الواقع طلب (في كثير من الأحيان منذ البنود التي سيتم استخدامها دون إجمالي المطلوب).

وبالتالي فإن إجمالي الشيكات الملكية إذا كان _total مجال موجودا.إذا كان لا, ثم قانون الملكية استعلامات قاعدة البيانات و يحسب عليه ، ثم يخزن قيمة في _total الميدانية بحيث لا يلزم أن يكون recomputed في المرة القادمة فإنه من المطلوب.

تحميل كسول:لا نضيع الوقت الخاص بك (أو الذاكرة) مع أشياء قد لا تحتاج.ثم عند الحاجة إلى ذلك ، يستغرق وقتا أطول, ولكن لا بأس.

مثال من الحياة:بدلا من الواقع تعلم أن العبارات الفرنسية, تعلم العبارات في وقت واحد, كما انهم في حاجة.عندما فهل يعقل هذا ؟ إذا كنت فقط سوف تكون في فرنسا لفترة قصيرة (أي أنك لن تحتاج إلى الكثير من العبارات) أو إذا كنت بحاجة إلى ترك في وقت قريب جدا.إذا كنت هناك لمدة سنتين و/أو لديك وقت طويل للدراسة ، ثم أنه قد يكون أكثر كفاءة بكثير من مجرد تعلم كل العبارات مقدما (حريصة على التحميل).

[مستوحاة من الذرة كما يدرس في عصابة الشروط من قبل فينوس على WKRP.]

تحميل كسول هو مصطلح يستخدم كثيرا في قواعد البيانات للإشارة إلى مفهوم التحميل أجزاء من المعلومات المطلوبة فقط عند الحاجة.

أولا-هاء.افترض أنك في حاجة إلى سجل الذي يحتوي على الانضمام إلى العديد من الجداول.إذا كنت جلب في كل مرة أنها سوف يستغرق وقتا أطول مما لو كنت قد جلب أقول فقط الجدول الرئيسي.باستخدام كسول التحميل بقية المعلومات سوف تكون المنال فقط إذا لزم الأمر.لذلك هو في الواقع 'كفاءة التحميل' في بعض السيناريوهات.

أنواع أخرى من "تحميل":

  1. حريصة تحميل - تحميل جميع متصل الجداول مرة واحدة.

هو نمط تصميم.

تحميل كسول:حتى التعليمات البرمجية الخاصة بك تتطلب عملية تقوم به كائن معين ، كائن لا initilaized و بمجرد تهيئة فإنه لا إعادة تهيئة كائن ولكن يستخدم سابقا تهيئة كائن.

هذا يجعل التعليمات البرمجية الخاصة بك أكثر كفاءة ويساعد على إدارة الذاكرة.

على سبيل المثال التطبيقات من تحميل كسول:

شبح كسول التهيئة قيمة حامل

بعض من مزايا كسول التحميل:

  1. ويقلل من وقت بدء التشغيل من التطبيق.
  2. التطبيق يستهلك ذاكرة أقل بسبب الطلب على التحميل.
  3. لا لزوم لها طلب إلى ملقم تجنبها.

مثال على تحميل كسول سيكون الشبكة أو طاولة مع الكثير من البيانات على صفحة ويب لعرض حيث التطبيق فقط الأحمال ما لمستخدمي متصفح وجهة نظر الحجم في ذلك الوقت.عندما انتقل لأسفل تريد لعرض المزيد من المحتوى أو البيانات المزيد من البيانات سيتم تحميلها في الرأي في تلك اللحظة.

هذا هو أن تصبح أكثر شيوعا البصرية/تصميم التفاعل نمط وكذلك عبر ajax أو مسج.

وكما ذكر أعلاه, يكون العكس حريصة التحميل حيث كنت لا تأخذ العميل في الاعتبار وبالتالي يحتمل وجود ضرب الأداء.

Lazy<T> هو الآن جزء من c# 4.0 - لطيف على الصفحة MSDN وهو ما يفسر مفهوم.

وفقا geeksforgeeks, تحميل كسول هو برنامج تصميم نمط حيث تهيئة كائن يحدث فقط عند الحاجة إليها فعلا وليس قبل ذلك للحفاظ على بساطة الاستخدام وتحسين الأداء.

https://www.geeksforgeeks.org/lazy-loading-design-pattern/

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top