Added README.md for style #19
This commit is contained in:
29
19-no-commitment/README.md
Normal file
29
19-no-commitment/README.md
Normal file
@@ -0,0 +1,29 @@
|
|||||||
|
Style #19
|
||||||
|
==============================
|
||||||
|
|
||||||
|
Constraints:
|
||||||
|
|
||||||
|
- The problem is decomposed using some form of abstraction
|
||||||
|
(procedures, functions, objects, etc.)
|
||||||
|
|
||||||
|
- All or some of those abstractions are physically encapsulated into
|
||||||
|
their own, usually pre-compiled, packages. Main program and each of
|
||||||
|
the packages are compiled independently. These packages are loaded
|
||||||
|
dynamically by the main program, usually in the beginning (but not
|
||||||
|
necessarily).
|
||||||
|
|
||||||
|
- Main program uses functions/objects from the dynamically-loaded
|
||||||
|
packages, without knowing which exact implementations will be
|
||||||
|
used. New implementations can be used without having to adapt or
|
||||||
|
recompile the main program.
|
||||||
|
|
||||||
|
- External specification of which packages to load. This can be done
|
||||||
|
by a configuration file, path conventions, user input or other
|
||||||
|
mechanisms for external specification of code to be linked at run
|
||||||
|
time.
|
||||||
|
|
||||||
|
Possible names:
|
||||||
|
|
||||||
|
- No commitment
|
||||||
|
- Plugins
|
||||||
|
- Why one when we can have many?
|
||||||
Reference in New Issue
Block a user