لقد تذكرت مؤخرًا قراءة كتاب عن أنماط تصميم java وبسبب حقيقة أنني ما زلت لا أفهم كيف يتم ذلك من الذاكرة في OOP ، قررت أن أكتب عملي في C.
قررت البحث مرة أخرى في كتاب جافا هذا عن كيفية تطبيق هذا النمط. نظرت إلى الفصل بأكمله ، ونظرت إلى الكود ، لكن لم يتبق شيء في رأسي. لماذا هذا ) هل من الصواب التفكير في أسلوب oop؟ على سبيل المثال ، أعرف القليل من java و c ++ ، لكن ما مدى ملاءمة إجراء التنفيذ بحيث يكون الاستخدام ممتعًا ولا ينسى؟ أيضًا للتجربة ، نظرت إلى كيفية إجراء ذلك في c ++. حسنًا ، بصراحة ، من الصعب علي أن أنظر إلى مثل هذا الرمز ، وعلي أن أقرأ كل سطر وأفكر.
إذن ما الذي فعلته قد يكون مفيدًا في المستقبل في البرمجة؟ تلبية التنفيذ على
جيثب . أريد أن أشرح سهولة استخدام ما كتبته. في هذا التطبيق ، لا تحتاج إلى إنشاء هيكل يقوم بتخزين البيانات. الهيكل الأساسي نفسه وراء الكواليس. على سبيل المثال ، أريد الاشتراك في ملف واحد لناشر TRADE. هذا الناشر ، على سبيل المثال ، سوف يعطيني خصومات على المنتج. أنا أعتبر المراقب وظيفة عادية وأعلنها وفقًا للقاعدة.
void sub_trade ( void *event, void *data ) { }
الآن أريد إنشاء ناشر والاشتراك في الأحداث. في هذه الحالة ، لا تحتاج إلى استدعاء أي شيء إضافي. من الضروري فقط الإشارة إلى أي ناشر ينقل المشترك.
enum { TRADE }; init_publisher ( TRADE, sub_trade, NULL );
وهذا كل شيء. لقد اشتركنا في الناشر. الآن في ملف آخر ، على سبيل المثال ، أريد أن أعمل رسالة إخبارية في الدردشة عبر الإنترنت. لا أعرف مدى ملاءمة القيام بذلك في OOP ، والأكثر من ذلك في java ، ولكن بمساعدة تطبيقي يتم ذلك ببساطة. بالمناسبة ، ربما يتعين على جافا استخدام أساليب ثابتة.
أنا أعلن وظيفة مشترك آخر.
enum { TRADE }; void notify_chat_trade ( void *event, void *data ) { } ... init_publisher ( TRADE, notify_chat_trade, NULL );
الآن في الملف حيث يتم تلقي البيانات الجديدة وتحليلها ، تأتي بيانات الخصم. أحتاج فقط إلى استدعاء هذه الوظيفة وسيتم نقل البيانات عند الضرورة.
send_event ( TRADE, 10 );
وبالتالي فهي مريحة وبسيطة دون صعوبات الاستخدام ، ويمكنك الحصول على النتيجة المرجوة. أعتقد أنني فعلت جيدا.
بالمناسبة ، من يستطيع أن يشرح لي ، هل هي البرمجة الهيكلية أم الإجرائية؟