Я работал над проектом, который реализует трехуровневую архитектуру со следующим дизайном:
- Уровень представления - Использование PHP с инфраструктурой MVC для обработки представления в веб-интерфейсеи бизнес логика.Этот уровень выполняет вызовы к сервисному уровню, который обращается к данным.
- Уровень доступа к данным - Использует C # .NET и разделен на службы, бизнес-логику и уровень данных.Вызывается уровнем представления.Делает вызовы в базу данных и сериализует ответы для возврата на уровень представления.
- Уровень данных - База данных.Предоставляет все данные для двух вышеупомянутых уровней.
Я понимаю, что трехуровневый подход может помочь в обеспечении безопасности, поскольку по-прежнему нет доступа к данным, если уровень представления данных скомпрометирован.Хотя это и правда, похоже, что этот подход немного усложняет его, тем более что я вынужден написать две модели для одного и того же объекта в первых двух слоях.
Итак, мой вопрос: этоплохая реализация трехуровневой архитектуры?Если так, как это могло быть улучшено?Каковы недостатки, если таковые имеются, просто иметь реализацию MVC, которая имеет доступ к базе данных?Какой подход (ы) вы используете для своих веб-приложений?
Спасибо за помощь!