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