Page 52 - 4252
P. 52
$ This-> data = false;
}
function calculate ($ name) {
$ This-> data [] = $ name;
$ Len = strlen ($ name);
if ($ len == 3)
$ This-> data [] = 'стислість - сестра таланту';
else
if (($ len> 3) & & ($ len <6))
$ This-> data [] = '... немає особливого значення';
else
$ This-> data [] = 'неймовірно багата фантазія батьків';
}
function getData () {
if ($ this-> data)
return $ this-> data;
else
return 'Обчислення не проведені!';
}
} / / Class Model
$ Controller = new Controller ();
$ Controller-> processData ();
?>
Отже, ми отримали найпростішу MVC-систему. Виділимо позитивні і не-
гативні сторони:
До мінусів можна віднести
• Збільшення обсягу коду
• Необхідність дотримання заздалегідь заданого інтерфейсу
• Для підтримки розробки потрібні більш кваліфіковані фахівці
Остання вимога до нашого прикладу не відноситься, але для реальних сис-
тем воно досить актуально.
До плюсів віднесемо наступне:
• Безсумнівно більш гнучкий код
• Можливість повторного використання кожної з трьох складових частин
MVC
• Безболісна заміна моделі (інші алгоритми розрахунку, способу зберігання
даних і т.д.)
• Досить просто перейти від одного подання, до іншого (від HTML до XML
або JSON)
Треба сказати, що код прикладу не ідеальний. У ньому є простори для ре-
факторингу (незважаючи на те, що він займає трохи більше ста рядків). Скажі-
мо, у прикладі бере участь всього лише одна змінна, яка надходить від користу-
вача (name), але що якщо їх буде багато?
51