В этой статье есть хорошее, но есть весьма странное. Скажем, пример с определением воздушной скорости, когда мы ставим работу датчика воздушной скорости в зависимость от некоторой дополнительной информации... Ну такое... Ведь это значит, что наш сервис, отвечающий за съём показаний также должен уметь во всю калибровачную математику, а скорее всего ещё и знать какие-то константы, связанные с геометрией корпуса БПЛА. Его ли это ответственность? Тут как раз таки просматривается нарушение SOLID.
Хочется сделать два сервиса, но, совершенно не очевидно, что сервис с калиброванными данными должен физически сидеть на датчике.