jsoysouvanh/Refureku
کاربرد:
این کتابخانه یک سیستم انعکاس (Reflection) زمان اجرا برای ++C17 فراهم میکنه و به تو اجازه میده تا در حین اجرای برنامه، اطلاعاتی درباره کلاسها، متدها، متغیرها و ساختارهای دادهات بدست بیاری و باهاشون کار کنی. این ویژگی در ++C به صورت پیشفرض وجود نداره، پس این کتابخانه یه قابلیت قدرتمند رو اضافه میکنه.
در چه شرایطی بهتره استفاده شود؟
اگر داری روی یک موتور بازی، سیستم پلاگین، یا فریمورکی کار میکنی که نیاز به ساخت شیء پویا، سریالسازی خودکار یا دیباگینگ پیشرفته داره، این کتابخانه عالیه . همچنین برای پروژههایی که بین پلتفرمهای مختلف (مثل ویندوز، لینوکس، مک) قابل اجرا هستن، مناسبتره چون پشتیبانی متقاطع داره.
چند مثال از موارد استفاده
ساخت یک سیستم سریالسازی خودکار برای ذخیره وضعیت شیءها بدون نوشتن کد دستی
پیادهسازی دیباگر یا ادیتور داخلی که میتونه ویژگیهای کلاسها رو در زمان اجرا نمایش بده
فراخوانی متدها به صورت پویا با استفاده از نام (مثلاً فراخوانی متد "Update" از یک کامپوننت بازی)
ایجاد سیستم پلاگین که ماژولهای خارجی رو در زمان اجرا بارگذاری و استفاده میکنه
- ##RuntimeReflection
- ##Cpp17
- ##CrossPlatform
- ##GameEngine
- ##PluginSystem
- ##Serialization
- ##DynamicProgramming
- ##C
- ##Refureku
- ##MetaProgramming
