Initially I wanted to implement interfaces as simple header files, but after reading articles from Jacob Beningo (e.g. https://www.beningo.com/how-to-write-epic-hardware-abstraction-layers-hal-in-c/) I’ve decided to go with abstract classes and structures with function pointers. This allows me to pack the interface as separate components, decoupling other components even more. The result is on the updated component diagram:
More details are in the repository: https://github.com/an-dr/LeOn/blob/e0b4142b7202b88d46830cca5cbb5a7b23a262a4/docs/architecture-arc42.md#building-block-view---software
P.S. It’s incredibly sad, that GitHub still does not support Plant UML rendering. C'mon, GitHub!
P.P.S. Yes, I’m not coding still. Maybe, if you do the right architecture, you don’t code 🤔?
Discussions
Become a Hackaday.io Member
Create an account to leave a comment. Already have an account? Log In.