Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

  • List all dependents of existing module interfaces
  • (tick) Identify and remove unused modules and classes with module dependencies.
  • (tick) Identify circular module dependencies (noted with (blue star) on above page).
  • Modify all classes existing modules to accept module dependencies and fcfg-configured values at construction time.
    • Decouple module interface impl from Module abstract class where needed
    • For those with circular dependencies that can't be refactored outeasily, provide setters.

Phase II - Swap

  • Decide on DI framework
  • Design and implement a way to deal with non-module configuration currently in fedora.fcfg (global configuration and datastores)
  • Convert fcfg to DI configuration
  • Trigger initialization of module singletons via DI framework in context initialization
  • Use injected module dependencies onlywherever possible, avoiding use of Module and Server at runtime

...