Ваші колеги поєднують архітектуру з реалізацією.
Ідея багатоярусного додатка полягає просто в тому, що він розбивається на частини, які включають певні види обробки (зберігання, ділова логіка, презентація) та спілкуються між собою за допомогою чітко визначених інтерфейсів. Так само, як можна успішно робити речі, що нагадують об'єктно-орієнтоване програмування на не об’єктно-орієнтованих мовах, так можна зробити те ж саме з декількома ярусами в одному середовищі, наприклад сервер бази даних. Те, що робить один із тих, хто успішно має спільне, - це потреба в турботі, дисципліні та розумінні компромісів, що стосуються.
Давайте розглянемо трирівневу програму, де два з ярусів реалізовані в базі даних:
- Рівень даних: Складається з таблиць бази даних , доступ з допомогою чотирьох стандартних операцій таблиці (
INSERT
, UPDATE
, DELETE
і SELECT
).
- Логічний рівень: складається із збережених процедур, які реалізують лише бізнес-логіку та отримують доступ до рівня даних, використовуючи лише описані вище методи.
- Рівень презентації: складається з запущеного коду веб-сервера, який здійснює доступ до логічного рівня, здійснюючи лише збережені виклики процедури.
Це цілком прийнятна модель, але вона має деякі компроміси. Бізнес-логіка реалізована таким чином, що забезпечує швидкий, простий доступ до рівня даних і може дозволяти робити те, що доведеться робити "важким шляхом" за допомогою логічного рівня за межами бази даних. Що ви відмовляєтеся - це можливість легко перейти будь-який рівень на якийсь інший біт технології та безтурботне впровадження (тобто, ви повинні бути особливо обережними, щоб яруси не використовували засоби, доступні в базі даних, але поза їх визначеними інтерфейсами) .
Незалежно від того, чи є така річ і чи не вигідні в цій ситуації компроміси - це те, що ви та ваші колеги повинні визначити, використовуючи ваше судження.