Die Nutzung einer Business/Daten-Logik (also Trennung von Daten und
GUI) ist für den Entwickler sehr angenehm.
Ich will jetzt nicht die vielen Vorteile aufzählen, weil du nach der Effektivität gefragt hast: Wenn du so eine Zwischenschicht einziehst, leidet die Performance. Nicht viel; eben je nach Implementation.
Die Frage ist: Bist du auf Effektivität angewiesen oder kannst du eine wenig Verlust in Kauf nehmen? Wenn ja dann bau dir unbedingt so eine Logik-Schicht dazwischen. Wenn du später mal was ändern/hinzufügen willst, freust du dir ein 2. Loch in den Hintern weil es so einfach geht. (Das ist meine Erfahrung.)