Close

Interfaces Update

A project log for LeOn - for Cats

A simple robot-toy for my cat Bastet.

andrei-gramakovAndrei Gramakov 10/26/2023 at 21:060 Comments

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