Обзор темы [Рефакторинг кода]

Дублирование данных пользовательского интерфейса

(Duplicate Observed Data)

Данные из предметной области доступны только в элементах GUI, и методам предметной области надо обрабатывать эти данные.

Скопировать данные в объект предметной области и предусмотреть их синхронизацию.

Хорошо спланированное приложение имеет раздельный код для пользовательского интерфейса и для бизнес-логики. Это делается потому, что для одной бизнес-логики может быть несколько пользовательских интерфейсов, либо логику и интерфейс делают разные люди. Таким образом, надо выделять объекты предметной области, переносить туда соответствующие поля и методы и предусматривать механизм синхронизации данных.