Мы создаем веб-службу WCF с использованием WSSF. Идея заключается в том, что она будет предоставлять нашу основную базу данных через службу и позволяет нам создавать различные приложения и веб-сайты поверх службы. На данный момент я создаю простое клиентское приложение, которое будет загружать некоторые данные из этой службы, манипулировать им, а затем предоставлять его пользователю в виде CSV-файла отчета.Приложения WCF/Client - куда должна идти бизнес-логика?
Теперь вопрос заключается в том, где должна располагаться бизнес-логика (которая управляет данными)? Я решил, что поставлю его на службу. У меня уже есть бизнес-уровень с простыми объектами, которые сопоставляются почти один к одному с базой данных (заказчик, заказ и т. Д.). Я решил, что я сделаю несколько объектов «более высокого уровня», чтобы манипулировать данными. Например, используя клиент, заказ и другие объекты, создавая отчет и т. Д. Я думал, что лучшее место для этого будет в бизнес-слое для службы. Таким образом, мы могли бы повторно использовать эту логику для различных приложений, если это необходимо.
К сожалению, мой босс не согласен. Он хочет «разобраться в проблемах» и сказал, что правильное место для этой логики будет в бизнес-слое внутри клиентского приложения, а не в сервисе. Я думаю, это может быть проще, но я хотел бы использовать мою мощную объектную модель внутри бизнес-уровня службы для написания этого кода. Объекты, выставленные службой, не являются «реальными» объектами и представляют собой действительно легкие структуры данных без возможности полной объектной модели, которая существует внутри уровня бизнес-сервиса.
Что вы, ребята, думаете? Большое спасибо за помощь.
Приветствия Марк
спросите его: если нам нужен другой клиент, следует ли мы дублировать всю бизнес-логику или использовать централизованную версию? –
Продолжая логику @Rubens Farias, если требуется, чтобы бизнес-логика была исправлена и она находится в клиенте, тогда необходимо, чтобы все клиенты * были обновлены. Если он находится в сервисе, необходимо обновить только сервис. –
Спасибо за ответы. Да, я также думаю, что повторное использование классно. Я предполагаю, что основной недостаток заключается в том, что обновление службы может разорвать всех существующих клиентов. –