Сейчас не понимаю зачем использовать т.н. mapping если есть ассоциативные массивы, подскажите пожалуйста, не понимаю. Желательно с примером, на java/php (сам работаю с php)
Обычно како-то название/термин/обозначение используется для того, чтобы выделить уникальную ситуацию и задачу.
Вот например "маппинг" — задача не хранить, не передавать, а просто навести мостик "смаппить".
Массив вполне подходит для маппинга, есть ключ и есть значение.
Обычно какой-то маппер этот массив и использует, как внутреннюю; ну или даже конструкцию switch/case.
Почему мапперы делают в виде классов:
- Изолируют данные, StatusOrderProcessorMapper маппит статусы заказа на процессоры, значит, что др тут не может происходить... тогда как некоторый [] с чем-то внутри не несет таких гарантий.
- Маппер может содержать логику. Например для статуса new — мы отдаем какой-то сервис, а для статуса failed — мы идем во внешнюю систему посмотреть причину (так себе пример, ну как вариант)
в вопросе же написано что я не понимаю (если вы его читали) чем отличаются, я подозреваю что они разные, но не понимаю разницы, потому и попросил объяснить.
vitaly_74, ну типа это просто разные вещи.
Маппинг - преобразования данных из одного формата в другой, ассоциативные массивы(Map/ HashMap/HashTable/Dictionary) - это просто ключ-значение.