Я относительно новичок в мире разработки программного обеспечения. Я в настоящее время нахожусь в проекте, который является довольно большим, и это приличный ОО-код - в основном следуя принципам доменного управления. Однако часто, хотя в теории это звучит замечательно, практически весь объектный реляционный импеданс довольно плох, и это означает, что некоторые части системы работают довольно медленно, используя только слой ORM, если мы не напишем оптимизированные запросы SQL для этих случаев. Кроме того, иногда нам кажется, что мы застряли, пытаясь понять, следует ли нам моделировать домен, основываясь на принципах производительности SQL по сравнению с принципами ОО.
Это заставляет меня спросить: так ли устроено большинство приложений? Смысл - да, ОО - это хорошо, но мне трудно поверить, что при всех проблемах, связанных с этим несоответствием объектов, это лучший способ для создания приложений? Альтернативный подход, который я могу придумать, состоит в том, чтобы отказаться от ORM и просто моделировать предметную область, и писать собственные запросы SQL напрямую и равномерно вручную. Я хотел бы знать, существуют ли на самом деле программные системы достаточного размера, построенные таким образом.
Извините, если я говорю n00bish - но я новичок и хотел бы знать, какие есть другие подходы.