Skip to content

Further refactoring ideas

Momentan machen unsere Module zwei verschiedene Dinge:

  • Lifecycle von Modulen (init, start, stop, deinit)
  • Trennung von abstraktem Modul und Implementierung

Diese Sachen könnten getrennt werden in lifecycle-management und services. Lifecycle würde bleiben, wie es ist, aber zusätzlich könnte es ein Service-Framework geben.

Da können dann von Modulen Interfaces (nicht nur eine abstrakte Klasse) angeboten werden, die von beliebigen anderen Modulen implementiert werden können. Dazu könnte ein Dependency-Injection Framework (z.B. Google Dagger) verwendet werden.