প্রকল্প সম্পর্কে
rzeka হলো C#-এর জন্য একটি সিঙ্গেল-থ্রেডেড ইভেন্ট বাস, যা কম্পোনেন্টগুলোকে একে অপরের সরাসরি রেফারেন্স ছাড়াই টাইপড ইভেন্ট নির্গত এবং প্রতিক্রিয়া জানাতে সক্ষম করে তাদের বিচ্ছিন্ন (decouple) করার জন্য ডিজাইন করা হয়েছে। Rx.NET-এর উপর ভিত্তি করে তৈরি এই লাইব্রেরির প্রধান বৈশিষ্ট্য হলো কজালিটি ট্র্যাকিং (causality tracking), যা কোনো নির্দিষ্ট ইভেন্টের পেছনে থাকা ইভেন্টগুলোর ধারাবাহিকতা রেকর্ড করে।
এর মূল বৈশিষ্ট্যগুলোর মধ্যে রয়েছে:
- কজালিটি ট্র্যাকিং: প্রতিটি ইভেন্ট তার কারণের শৃঙ্খলের একটি রেকর্ড বহন করে, যা ডেভেলপারদের সিস্টেমের আচরণের উৎস খুঁজে পেতে সাহায্য করে।
- Eris Debugger: একটি ব্রাউজার-ভিত্তিক ডিবাগার যা WebSocket-এর মাধ্যমে সংযুক্ত হয় এবং অ্যাপ্লিকেশন চলাকালীন রিয়েল-টাইমে ইভেন্ট ফ্লো এবং মেসেজগুলো ভিজ্যুয়ালাইজ করতে পারে।
- সিঙ্গেল-থ্রেডেড ডিজাইন: এটি সারকামস্ট্যান্স ট্র্যাকিং এবং স্টেট ট্রানজিশনের ধারাবাহিকতা নিশ্চিত করে এবং অ্যাসিনক্রোনাস অপারেশন হ্যান্ডেল করার জন্য নির্দিষ্ট সীমানা নির্ধারণ করে।
- ডোমেইন-স্পেসিফিক মেটাফর: ইভেন্ট ট্রান্সফরমেশন এবং সাবস্ক্রিপশন বর্ণনা করতে এটি টেক্সটাইল এবং ম্যাজিক-থিমযুক্ত API (যেমন: Matter, Spells, Mana, Loom, Weave) ব্যবহার করে।
- স্টেট ম্যানেজমেন্ট: এটি [HasState] অ্যাট্রিবিউটের মাধ্যমে স্টেটফুল ইভেন্ট সমর্থন করে, যা সর্বশেষ মান মনে রাখে এবং নতুন সাবস্ক্রাইবারদের কাছে তা রিপ্লে করে।
এই লাইব্রেরিটি .NET 8.0-কে লক্ষ্য করে তৈরি করা হয়েছে এবং এটি গেম ডেভেলপমেন্টের জন্য বিশেষভাবে উপযোগী; এটি Unity-তে ব্যবহৃত হয়েছে এবং বর্তমানে Godot-এ পোর্ট করা হচ্ছে।
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.