Для чого потрібні класи - stack overflow російською

Основна ідея модульного програмування полягає в тому, що велике завдання ділиться на менші відносно незалежні підзадачі (принцип «розділяй і володарюй»). У розвитку модульного програмування - об'єктно-орієнтованому програмуванні - цей принцип виражається в створенні великої кількості об'єктів, кожен з яких вирішує тільки свою власну задачу.







Використовуваний вами антипаттерн проектування називається Божественний об'єкт. Ваш об'єкт робить настільки багато, що звичайних об'єктів це не під силу. Будемо вважати що у вас там пречется деяка галактика. і взагалі весь інший код це декорація над цим об'єктом :)







Підхід «божественного об'єкта» протилежний принципу «розділяй і володарюй»: основна частина функціональності програми кодується в одному об'єкті. Так як цей об'єкт зберігає велику кількість даних і має багато методів, його роль в програмі стає «божественної» (всеосяжної).

У підсумку ми маємо нестерпний і погано тестований код, в якому, до того ж, складно розібратися. Так само, подібний код досить складно підтримувати, враховуючи, що вся система залежить практично тільки від нього. Проблема в тому, що вся програма настільки ставати залежна від цього класу, що внесення змін або спроба виправлення помилки ставати через якийсь час справжнім кошмаром.

Той мінімальний виграш в продуктивності, якого може не бути зовсім, не варто того, щоб тримати весь код в одному класі і кожен раз переписувати величезну частку свого коду, щоб підлаштуватися під нові бізнес-процеси.

відповідь дан 5 Вересня '16 о 8:13







Схожі статті