Page 73 - 4787
P. 73
для роботи з інтерфейсом користувача. Об'єкти предметної області не містять
коду візуалізації, зате містять всю бізнеслогіку. У результаті складна програма
розділяється на частини, які простіше модифікувати. Крім того, з'являється
можливість існування декількох уявлень однієї і тієї ж бізнес-логіки. Той, хто
має досвід роботи з об'єктами, користується таким поділом інстинктивно, і воно
довело свою цінність.
Але багато з тих, хто працює з GUI, що не дотримуються такої
архітектури. У більшості середовищ з GUI «клієнт / сервер» реалізована
дволанкова конструкція: дані містяться в базі даних, а логіка знаходиться в
класах уявлення. Середовище часто нав'язує такий стиль проектування,
заважаючи помістити логіку в інше місце.
Алгоритм утворення інтерфейсу для представлення бізнес логіки. .
• Створіть для кожного вікна клас предметної області.
• Якщо є сітка, створіть клас, що представляє рядки цієї сітки.
Використовуйте для вікна колекцію з класу предметної області, яка буде
зберігати об'єкти предметної області з рядка.
• Вивчіть дані у вікні. Якщо вони застосовуються тільки для цілей
інтерфейсу користувача, залиште їх у вікні. Якщо вони задіяні в логіці
предметної області, але фактично не відображаються у вікні, застосуйте
«Переміщення методу» (Move Method), щоб перенести їх в об'єкт предметної
області. Якщо ж вони фігурують як в інтерфейсі користувача , так і в логіці
предметної області застосуйте «Дублювання видимих даних» (Duplicate
Observed Data) , щоб вони перебували в обох місцях і були синхронізовані .
• Вивчіть логіку в класі уявлення. Скористайтеся «Виділенням методу»
(Extract Method) для відділення логіки, яка відноситься до подання, від логіки
72