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
Custom VMs From 1 to 96 vCPUs With 99.95% Uptime Icon
Custom VMs From 1 to 96 vCPUs With 99.95% Uptime

General-purpose, compute-optimized, or GPU/TPU-accelerated. Built to your exact specs.

Live migration and automatic failover keep workloads online through maintenance. One free e2-micro VM every month.
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