MVC (и развития этих идей: MVVM, MVP, MVA, PAC...)
Идея проста... между двумя слоями вводим третий который изолирует одно от другого. Слоеное лучше бисквита.
p.s. Если вы не знаете как это организовать, лучше на самом деле взять фреймворк или библиотеку, которая организует для вас слой представления и абстрагирует ваш код от него (React например).