ثلاثة زن رد الفعل التمديدات

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

زين أولا


أرى نسخة دفع من تطبيق Iterator الكلاسيكي 'تطبيق GoF. لقد كتبت بالفعل عن هذا ، وبالتالي ، دون تفاصيل.

رواية قصيرة لأولئك الذين هم كسول جدا لقراءة
النقطة المهمة هي أن " الأوبزرفر" هي "صورة معكوسة" تقريبًا للتطبيق الكلاسيكي لـ Iterator. لماذا "تقريبا" - أوضح في وظيفة على الرابط المحدد سابقا. ملاحظة مهمة: "انعكاس المرآة" هو تعريف رياضي دون خمس دقائق ويمكن إضفاء الطابع الرسمي عليه بشكل صارم .

في هذه المسافة ، يكون الفرق بين أنظمة الدفع والسحب مرئيًا بوضوح. بعد هذا الإلهام ، كل بوابة دفع وسحب بوابة يسبب الرهبة تقديس تقريبا. تبدأ في البحث عن الكود وطرح أسئلة مقدسة حول الثنائيات.

زين الثانية


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

الاستنتاج الأكثر أهمية يأتي من هذا: واحد آر إكس هو عملية واحدة. وإذا كانت العملية المعقدة تتكون من العمليات الفرعية n ، إذن ... rx واحد من "الترتيب العالي" ، والذي يتحكم في تشغيل n rx "الترتيب الأول". عن طريق القياس مع وظائف النظام العالي .

زن الثالث


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

لدي كل شيء.

Source: https://habr.com/ru/post/ar441452/


All Articles