Multi Stage Init



  • Ich will für Plugins eine Multi-stage Initialisierungsschema einführen, weil notwending.
    Die Plugins bieten ein C interface und sind dlls.
    Ich frage mich was am (ge)schicksten wär für das interface

    entweder

    void prefix_on_before_initialization(...)
    void prefix_on_initialization(...)
    void prefix_on_after_initialization(...)
    

    oder:

    enum InitializationStage
    {
      // ...
    };
    
    struct Param
    {
      int version;
      InitializationStage stage;
    };
    
    void prefix_on_initialization(Param p);
    

    oder: was anderes.

    1. ist schwer falsch zu verwenden.
    2. ist leichter falsch zu verwenden.

    Irgendwelche Meinungen?


  • Mod

    Nimm 1.
    2 sieht mir wie Zusatzaufwand aus, mit dem Selbstzweck, möglichst schwer verständlich zu sein.



  • Ebenfalls für Variante 1, was gemacht wird ist klar aus dem Namen erkennbar.


Anmelden zum Antworten