slackbuilds/development/boost-di
Heinz Wiesinger 63daf9f79a All: Support $PRINT_PACKAGE_NAME env var
Signed-off-by: Heinz Wiesinger <pprkut@slackbuilds.org>
2021-07-17 21:55:09 +02:00
..
README development/boost-di: Added (C++14 Dependency Injection Library). 2017-02-04 06:59:39 +07:00
boost-di.SlackBuild All: Support $PRINT_PACKAGE_NAME env var 2021-07-17 21:55:09 +02:00
boost-di.info development/boost-di: Added (C++14 Dependency Injection Library). 2017-02-04 06:59:39 +07:00
slack-desc development/boost-di: Added (C++14 Dependency Injection Library). 2017-02-04 06:59:39 +07:00

README

Dependency Injection (DI) involves passing (injecting) one or more
dependencies (or services) to a dependent object (or client) which
become part of the client's state. It is like the Strategy Pattern,
except the strategy is set once, at construction. DI enables loosely
coupled designs, which are easier to maintain and test.

Features:

- None run-time overhead;
- Compiles fast;
- Gives short diagnostic messages;
- Is non-intrusive;
- Reduces boilerplate code;
- Reduces testing effort;
- Gives better control of what and how is created;
- Gives better understanding about objects hierarchy.

Design goals:

- Be as fast as possible;
- Compile as fast as possible;
- Give short and intuitive error messages;
- Guarantee object creation at compile-time;
- Be as non-intrusive as possible;
- Be easy to extend.