Я думаю, ваш архитектор старается, чтобы ваш код имел меньше побочных эффектов. В вашем конкретном примере нет пользы. Во многих, многих случаях ваш архитектор был бы прав, и вы можете проектировать большие части вашего приложения без побочных эффектов, но единственное, чего не может случиться, - это во время операций с базой данных.
Что вам нужно сделать, так это познакомиться с функциональным программированием и подготовиться к беседам о подобных случаях с вашим архитектором. Помните, что его / ее намерения, скорее всего, хорошие, но конкретные случаи - это ВАША область. В этом случае побочным эффектом является точка , и вы, скорее всего, захотите, чтобы возвращаемый тип bool указывал на успех, но возвращать новый тип не имеет смысла.
Покажите своему архитектору, что вы понимаете ограничивающие побочные эффекты, но некоторые побочные эффекты должны быть разрешены (база данных, пользовательский интерфейс, доступ к сети и т. Д.), И вы, вероятно, обнаружите, что он или она согласны с вами. Найдите способ выделить желаемые побочные эффекты и проясните их для него или нее, и это поможет вашему делу. Ваш архитектор, вероятно, оценит это, если вы сделаете это в духе сотрудничества (не пытаясь пробить дыры в своем плане).
Пара ресурсов для FP:
- Отличный учебник по функционалу
Программирование
- Википедия о функциональном программировании
Удачи, надеюсь, это поможет.