Нет ничего плохого в том, чтобы делать некоторую логику из ваших сеттеров, но вы должны быть осторожны с тем, сколько логики вы вложили в свои сеттеры. Одна из фундаментальных проблем сеттеров заключается в том, что, поскольку они действуют как атрибуты, но имеют вспомогательный код, легко забыть о том, что за кулисами могут происходить некоторые нетривиальные действия.
Подобные вещи могут вызывать проблемы, если у вас есть средства доступа, которые используют средства доступа, которые используют средства доступа; Вы можете быстро вызвать непредвиденные проблемы с производительностью. Как правило, это хорошая идея - сохранять действия сеттеров (или геттеров) относительно небольшим набором действий. Например, проверка может отлично работать в установщике, но я бы вообще не советовал проверять внешние ресурсы по двум причинам: во-первых, задержки ресурсов могут вызвать проблемы с ожидаемой скоростью доступа, а во-вторых, с количеством внешних ресурсов. доступ может разрушить вашу производительность.
Как правило, правило таково: будьте проще. Делать сложные вещи в сеттере не является неразумным, но если вы это делаете, очень важно понимать последствия всех действий, которые вы будете вызывать, и ЧРЕЗВЫЧАЙНО важно документировать, что он делает очень хорошо, поэтому следующий (или девушка) использовать код не просто пытается наивно использовать аксессор и в конечном итоге неожиданно вызывает массовые конфликты ресурсов.