В общем, вполне может быть компромисс между ремонтопригодностью и производительностью. Имея код, структурированный с четко определенными функциями, отделение объектов Domain от презентации, вероятно, увеличит количество вызовов функций для выполнения работы.
Искусство инженерии состоит в том, чтобы управлять этими компромиссами. В этом конкретном случае наша коллективная мудрость, как правило, заключается в том, что фактические дополнительные расходы относительно невелики, а выгоды от обслуживания настолько велики, что мы довольствуемся оплатой этих затрат.
Некоторые общие принципы:
1). Заставь это работать, затем заставь это работать быстро.
2). Ставьте четкие цели. Целью должно быть не «сделать это как можно быстрее», а «сделать это так быстро».
3). Сделайте ранние тесты производительности "нюхать". Получите раннюю оценку производительности, а затем, как только вы внесете изменения, обнаружите отклонения на ранней стадии.