سؤال

توضع

وIObservable<T> وIObserver<T> اجهات مباشرة في مساحة الاسم System في برنامج .NET Framework 4.0 Beta2. لماذا ليس في System.Collections.Generic، مثل IEnumerable<T>؟

وp.s. رد الفعل معاينة الإطار من مجموعة أدوات سيلفرلايت تحتوي IObserver<T> في مساحة الاسم System.Collections.Generic.

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

المحلول

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

ونلقي نظرة على الموقع هذا يلقي الرائعة من إيريك ماير حيث يصف الأفكار الكامنة وراء واجهات.

نصائح أخرى

IObservable هو الواجهة التي تحدد فئة التي تطبق نمط و المراقب . لها لا علاقة لها مجموعات. على نحو أكثر المتعلقة بتوفير بديل للأحداث.

وعلى الرغم من أن هذا هو السؤال القديم عثر عليها، أردت فقط لدعم @ تقييم ControlFlow لمن 'الثنائية' بين IObservable وIEnumerable بأنه 'دفعت على أساس "مقابل" سحب القائم' جمع مع وصلة الى إيريك ماير في "آر إكس في 15 دقيقة، حيث يمكن قوله على وجه التحديد. http://channel9.msdn.com/posts / تشارلز / إريك-ماير-آر إكس-في 15 دقيقة /

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

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