В нашем проекте была реализована платформа Entity, и мы плавали по типу объекта Entity по всем слоям. Из-за огромного размера этих объектов мы решили иметь бизнес-объекты и объекты данных. Теперь я в замешательстве, как в
1) Где осуществить перевод этих объектов
2) Как, например, какие-либо модели или практики, которым я должен следовать, чтобы получить лучшие результаты.
* Отредактировано *
Спасибо за все ответы, которые я изучаю в Automapper, и обнаружил, что он может хорошо вписаться. Но вместо того, чтобы использовать библиотеку, я хотел создать свой собственный переводчик, который выглядел бы как изобретатель колеса. Но я думаю, что тогда у меня будет намного больше контроля над вещами.
Итак, возвращаясь к первоначальному квестону
- На каком слое я должен реализовать свой перевод, то есть у нас есть приложение N-tyre, и есть две философские идеи, одна из которых заключается в том, что у нас должен быть бизнес-уровень, который должен воспринимать его как фасад и реализовывать всю переводческую и другую бизнес-логику там и относиться ко всем остальным слоям как к тупому слою, который не знает о других слоях и сохраняет минимальную ссылку на них, так что слой данных будет отбрасывать те же объекты данных и может быть повторно использован в другом проекте, где бизнес-объект несколько отличается от нашего текущий объект. Вторая школа мысли заключается в том, что уровень данных должен возвращать и принимать бизнес-объекты, что будет ограничивать разработчиков, не являющихся базами данных, от ненужного вызова на уровне базы данных для создания права бизнеса.
- Любые шаблоны, которые существуют для такого рода библиотек перевода.