Я создаю небольшой веб-сайт для развлечения / обучения с использованием довольно стандартного многоуровневого дизайна Web / Service / Data Access.
Чтобы избавить меня от необходимости постоянно создавать экземпляры классов моего уровня обслуживания / уровня доступа к данным, я сделал методы в них статическими. У меня не должно быть проблем с параллелизмом, поскольку они используют локальные переменные и т. Д. И не делят какие-либо ресурсы (на данный момент все достаточно просто).
Насколько я вижу, единственным компромиссом для этого является то, что я на самом деле не следую истинному ОО-подходу, но опять же, это делает код намного чище.
Есть ли причина, по которой это не было бы жизнеспособным подходом? Какие проблемы могут возникнуть позже? Было бы лучше иметь "фабричный" класс, который может возвращать мне экземпляры классов обслуживания и уровня данных по мере необходимости?