Чтобы сделать ваш пользовательский интерфейс независимым, поместите логику, которая не зависит от пользовательского интерфейса, в отдельный слой или сборку. Отдельная логика от презентации. Это то, что следуют всем шаблонам, таким как MVC, MVP и MVVM. Это настолько фундаментальная часть структуры программного обеспечения, что она должна быть укоренилась на вас; если это не так, сделайте это так.
Отделение логики от презентации. Узнать его. Переживи это. Любить это.
Edit:
Можете привести пример? Я уже использую BO и технику наложения в своих приложениях. Но даже в этом случае я видел, что для подключения моего кода к новым технологиям пользовательского интерфейса требуется много кода.
Пожалуйста, не предоставляйте мне поверхностный ответ.
Я вижу, что вы редактировали. Позвольте мне уточнить:
Нет никакой возможности уйти от некоторой логики, которая зависит от пользовательского интерфейса. Интерфейсы не являются оболочкой; у них все еще есть логика и функциональность. Но эта функциональность должна быть ориентирована только на взаимодействие с пользователем. Отображение данных. Соберите данные. Придумайте графические трюки и анимацию, если ваши предпочтения лежат в этом направлении.
Остальное идет на бизнес-уровень, и , что может быть использован повторно. Если вы наложите слои должным образом, вы можете избежать переписывания основных функций каждый раз, когда вы пишете программу для новой инфраструктуры пользовательского интерфейса.
Но вам все равно придется переписать материал пользовательского интерфейса.