Показать сообщение отдельно
Старый 08.08.2008, 11:59   #16  
Bishop is offline
Bishop
Участник
 
89 / 60 (3) ++++
Регистрация: 12.08.2004
Адрес: Москва
Цитата:
Сообщение от Raven Melancholic Посмотреть сообщение
Повторюсь, на перепрыгивание туда-сюда мне времени жалко, причем, в this.lineAmountMST(this.Qty) стандартная функция просмотра определения не работает (понятно почему).
Еще мне жалко времени на то, что при загрузке проектов, полученных от аутсорсеров при наличии в них изменённых мапов я не могу выполнить сравнение из-за застарелой ошибки сравнения ветки Mappings.
Так что времени мне действительно жалко, поэтому предпочитаю, если есть возможность использовать не мапы, а классы.
Наверное, надо исходить от задачи. Одно дело - обобщить три пары полей в двух таблицах, другое - реализовать общие механизмы типа журнализации, работы с адресами и т.д.
Так что здесь на одной чаше весов - удобное "перепрыгивание", а на другой:
- быстродействие (мэппинг - это все таки "ядро", и этим НАДО пользоваться),
- простота (трудозатраты на создание, расширение и поддержку мэппинга классами существенно больше),
- шаблон (разработчики, как художники, непременно реализуют конкретный мэппинг каждый по-своему)

Поэтому, я голосую за MAP (хотя, по чесноку, чаще пишу классы ).
А "перепрыгивание" еще много где не работает (или работает не так как хотелось бы). В тех же классах из метода базового класса уже не "перепрыгнуть" в наследника, и все-равно приходится активно работать с репозитарием.

Да, и еще, InventMovement и Ко я бы не стал относить к попытке реализации мэппинга, все-таки это InventMovement...