Reputation
Top tag
Next privilege 125 Rep.
Vote down
Badges
4
Newest
 Scholar
Impact
~140 people reached

  • 0 posts edited
  • 0 helpful flags
  • 4 votes cast
Jul
13
comment Strategies to manage a modular C# framework
The SOLID principles were very helpful! In the end I settled for a generic IAlgorithm interface with Run() and a generic IAlgoParam input. The middle layer is agnostic to it all, while the front-layer and back-layer knows which objects to supply or cast to.
Jun
12
comment Strategies to manage a modular C# framework
@Ewan For models yes, a single datalayer project is enough. But each algorithm is also in its own project, and to compile any algorithm at all, even if only 1 algorithm, the datalayer project is required. That's the part I had difficulty accepting.
Jun
12
comment Strategies to manage a modular C# framework
@DocBrown Yea... I may have to rethink how much unused code I should allow.
Jun
12
comment Strategies to manage a modular C# framework
But on 2nd thought... that is true for most 3rd party libs. There's a lot of unused code inside.. (e.g. Boost)
Jun
12
comment Strategies to manage a modular C# framework
All of the shared data structures are packaged under the CommonInterfaces.dll, however each algorithm only uses a small subset of it. So if a particular algorithm isn't used, including the .dll would pull in lots of code that is never executed as well.