Run results for: 2-tier vs 3-tier Object.assign vs 3-tier spread vs 3-tier constructor
This demonstrates the difference in performance between 2-tier architectures, which simply return database objects through controllers from the repositories vs 3-tier architectures which run some sort of service layer mapping to obfuscate unnecessary db information from both the controller layer and, subsequently, the front-end. Such mapping logic will ideally use Object.assign, the spread operator, or perhaps an explicit constructor mapping.