Мне трудно убедить нашего архитектора в том, что модель предметной области должна содержать только основные элементы бизнес-предмета. Такие вещи, как тот факт, что класс является постоянным, что он требует ведения журнала и аудита и что он имеет RESTful URI, не должен управлять моделью домена. Они могут быть добавлены позже, используя интерфейсы.
Наша система управления медицинской информацией. На очень грубом уровне - это система, в которой пользователи входят и получают доступ к своей медицинской информации. Они могут делиться этой информацией с другими и быть хранителем информации других (подумайте о ролях). Но из-за нескольких звуковых байтов, которые завоевали популярность раньше - «Все должно быть ресурсом REST» - модель теперь имеет класс верхнего уровня под названием Resource, из которого расширяется каждый другой класс.
Я пытаюсь убедить его, что модель предметной области должна основываться на четко определенных понятиях, таких как учетная запись пользователя, HealthDocument, UserRole и т. Д., Которые являются различными субъектами бизнеса, с конкретными ассоциациями между ними. Объединение всего в класс Resource позволяет нашей модели быть негибкой, помимо потенциально неправильной - если все является «ресурсом», то как можно изобразить понятие «пользователь, получающий доступ к ресурсу».
Но он хочет, чтобы я показал ему, почему плохая идея делать это по-своему. Я не знаю, как правильно сформулировать это, но все мои ОО-инстинкты говорят мне, что это просто неправильно. Есть мысли?