из-за проблем с производительностью мы провели рефакторинг для быстрой и грязной реализации нашего доступа к данным (sql).Как и прежде, мы получили доступ к нашим объектам шаг за шагом.Сначала базовые данные, а затем их заполнение некоторыми связанными данными, которые могут быть заполнены другими связанными данными.
На данный момент доступ ко всем данным осуществляется с помощью отдельных операторов SQL, которые являются более сложными, но не слишком большими - с четырьмя вершинами соединений.
Как следствие, данные, которые мы получаем, не являютсяв объектном формате (на самом деле вложенные массивы), например
prop1
prop2 -> prop2a,
prop2b -> prop2b1
prop2b2
prop3 -> prop3a
prop3b
и , вместо этого все данные «плоские» , например
prop1
prop2a
prop2b1
prop2b2
prop3a
prop3b
My oo-инстинкты говорят мне предварительно обработать эти данные после извлечения и отправить их во внешний интерфейс (html, js - наш единственный клиент) в подобной объекту структуре, как они были отправлены до рефакторинга.С другой стороны, соображения производительности подразумевают обработку только того объема, который действительно необходим, и, если возможно, позволяют клиенту выполнять некоторые виды работ.
Итог : Что в целом лучше / полезная практика здесь?
a) процесс подготовка данных в бэкэнде
б) отправить данные как извлеченные на внешний интерфейс и обработать их там
в) переключиться на архитектуру ORM как можно быстрее
Большое спасибо,
Робсон