DynaMix (Dynamic Mixins) is an alternative take on object-oriented programming and dynamic polymorphism. It lets users compose and modify polymorphic objects at run time. The main target language is C++, but C is also supported. The library is a means to create a project's architecture rather than achieve its purpose. It helps with extensibility, readability, scalability, and interoperability. It focuses on maximal performance and minimal memory overhead. The library uses the type dynamix::object as a placeholder, whose instances can be extended with existing classes (mixins), thus providing a particular instance with the mixin features of all those types. Likely the most important types of mixin features are messages: functional objects that in C++-OOP terms can be thought of as methods. Mixin features are overridable and use late binding and singular dispatch. Unicasts and multicasts are possible.

Features

  • DynaMix is applicable for the software architecture of systems with complex objects
  • Compose objects from mixins at run time
  • Physically separate interface and implementation
  • Non-intrusive – mixins don't need to have a common parent or any special code inside
  • Mutate "live" objects by changing their composition at run time
  • Create shared libraries and plugins which can enrich or modify objects, without modifying (or even rebuilding) the executable
  • Have complete runtime reflection by symbols or strings

Project Samples

Project Activity

See All Activity >

Categories

Libraries

License

MIT License

Follow DynaMix

DynaMix Web Site

Other Useful Business Software
Go From AI Idea to AI App Fast Icon
Go From AI Idea to AI App Fast

One platform to build, fine-tune, and deploy ML models. No MLOps team required.

Access Gemini 3 and 200+ models. Build chatbots, agents, or custom models with built-in monitoring and scaling.
Try Free
Rate This Project
Login To Rate This Project

User Reviews

Be the first to post a review of DynaMix!

Additional Project Details

Programming Language

C++

Related Categories

C++ Libraries

Registered

2024-05-31