আমি বর্তমানে নেট নেট এর রিঅ্যাকটিভ এক্সটেনশানস কাঠামোটি আঁকড়ে ধরছি এবং আমি যে বিভিন্ন ভূমিকা সংস্থান খুঁজে পেয়েছি তার মাধ্যমে কাজ করছি (মূলত: http://www.introtorx.com )
আমাদের অ্যাপ্লিকেশনটিতে এমন অনেকগুলি হার্ডওয়্যার ইন্টারফেস জড়িত যা নেটওয়ার্ক ফ্রেমগুলি সনাক্ত করে, এগুলি আমার আইওবসার্ভেবল হবে, আমার তখন বিভিন্ন উপাদান রয়েছে যা সেই ফ্রেমগুলি গ্রাস করবে বা ডেটাতে কিছুটা রূপান্তর করবে এবং একটি নতুন ধরণের ফ্রেম তৈরি করবে। এছাড়াও অন্যান্য উপাদান রয়েছে যা উদাহরণস্বরূপ প্রতিটি n'th ফ্রেম প্রদর্শন করতে হবে। আমি নিশ্চিত যে আরএক্স আমাদের অ্যাপ্লিকেশনটির জন্য কার্যকর হতে চলেছে, তবে আমি আইওএসবার ইন্টারফেসের জন্য প্রয়োগের বিশদ নিয়ে লড়াই করছি।
আমি যে সংস্থানগুলি পড়ছি তার বেশিরভাগ (সমস্ত না থাকলে) বলেছে যে আমি নিজেই IObservable ইন্টারফেসটি প্রয়োগ করব না তবে প্রদত্ত ফাংশন বা ক্লাসগুলির মধ্যে একটি ব্যবহার করব। আমার গবেষণা থেকে দেখা যাচ্ছে যে একটি তৈরি করা Subject<IBaseFrame>
আমাকে যা প্রয়োজন তা সরবরাহ করবে, আমার একক থ্রেড থাকবে যা হার্ডওয়্যার ইন্টারফেস থেকে ডেটা পড়ে এবং তারপরে আমার Subject<IBaseFrame>
উদাহরণের অননেক্সট ফাংশনটিকে কল করে । বিভিন্ন IObserver উপাদানগুলি তখন সেই সাবজেক্ট থেকে তাদের বিজ্ঞপ্তিগুলি গ্রহণ করবে।
আমার বিভ্রান্তি এই টিউটোরিয়ালটির পরিশিষ্টে দেওয়া পরামর্শ থেকে আসছে যেখানে এটি বলেছে:
বিষয় প্রকারের ব্যবহার এড়িয়ে চলুন। আরএক্স কার্যকরভাবে একটি কার্যকরী প্রোগ্রামিং দৃষ্টান্ত। বিষয় ব্যবহারের অর্থ হ'ল আমরা এখন রাষ্ট্র পরিচালনা করছি যা সম্ভাব্যভাবে পরিবর্তন ঘটছে। একই সাথে মিউটরিং স্টেট এবং অ্যাসিনক্রোনাস প্রোগ্রামিং উভয়ের সাথেই ডিল করা সঠিক হওয়া খুব কঠিন। তদ্ব্যতীত, সাবস্ক্রিপশন এবং সিকোয়েন্সগুলির সঠিক এবং সামঞ্জস্যপূর্ণ আজীবন বজায় রাখা হয় তা নিশ্চিত করার জন্য অনেক অপারেটর (এক্সটেনশন পদ্ধতি) সাবধানতার সাথে লেখা হয়েছে; আপনি যখন বিষয়গুলি প্রবর্তন করেন আপনি এটিকে ভেঙে ফেলতে পারেন। ভবিষ্যতের প্রকাশগুলি যদি আপনি স্পষ্টভাবে সাবজেক্টগুলি ব্যবহার করেন তবে তা পারফরম্যান্সের উল্লেখযোগ্য অবনতি দেখতে পাবে।
আমার অ্যাপ্লিকেশনটি যথেষ্ট পারফরম্যান্স সমালোচনামূলক, আমি স্পষ্টতই Rx নিদর্শনগুলি ব্যবহারের কোডটি প্রডাকশন কোডে যাওয়ার আগে পরীক্ষা করতে যাচ্ছি; তবে আমি উদ্বিগ্ন যে আমি সাবজেক্ট ক্লাসটি ব্যবহার করে আরএক্স ফ্রেমওয়ার্কের চেতনাবিরোধী এমন কিছু করছি এবং কাঠামোর ভবিষ্যতের সংস্করণটি কার্যকারিতা ক্ষতিগ্রস্থ করতে চলেছে।
আমি যা চাই তা করার আরও ভাল উপায় আছে? কোনও পর্যবেক্ষক থাকুক বা না থাকুক না কেন হার্ডওয়্যার পোলিং থ্রেড অবিচ্ছিন্নভাবে চলতে চলেছে (এইচডাব্লু বাফার অন্যথায় ব্যাকআপ নেবে), সুতরাং এটি একটি খুব উত্তম ক্রম। এরপরে আমাকে প্রাপ্ত ফ্রেমগুলি একাধিক পর্যবেক্ষকের কাছে পাঠাতে হবে।
যেকোনো উপদেশ সাদরে গৃহীত হবে।