Внедрение бизнес-логики в трехуровневой архитектуре

У меня есть веб-приложение, над которым я работаю, и пока у меня закончен уровень доступа к данным. Каждая таблица имеет свой собственный класс, который создает объекты строк этой таблицы, поэтому каждый объект представляет строку таблицы. Функции, которые выполняет каждый объект, в основном представляют собой операции CRUD.

У меня вопрос: как лучше всего реализовать бизнес-логику для приложения? Я делаю это на PHP, чтобы я мог просто включить файл с множеством функций, но я хочу, чтобы это было лучше организовано. Уровень доступа к данным уже использует объектно-ориентированный подход, поэтому я хотел бы продолжить его.


person roflwaffle    schedule 17.10.2009    source источник
comment
Вы можете еще немного объяснить?   -  person Rachel    schedule 18.10.2009
comment
Уровень данных был написан на PHP.   -  person roflwaffle    schedule 19.10.2009


Ответы (2)


Не используйте php для бизнес-логики.

Если вы работаете на сервере WinTel с базой данных SQL Server, я бы использовал C # или другой язык в среде .Net.

Если вы используете что-то вроде Linux / Oracle / Solaris с базой данных Oracle / PostgreSQL / MySql, я бы использовал Java, но многие на SO, вероятно, будут использовать Python.

Вы можете обойтись разными комбинациями, но две, которые я перечислил, обычно облегчают задачу. Существуют всевозможные передовые практики для взаимодействия с БД через уровень абстракции, и любой из них упростит вам доступ к функциональности вашего бизнес-уровня в виде веб-служб на основе REST или SOAP. Вы можете использовать их в своем веб-интерфейсе PHP.

person Kaiser Advisor    schedule 23.10.2009

Обычно Java или .Net предоставляют более организованный способ работы с многоуровневой архитектурной моделью для веб-приложений. Если вы предоставите дополнительную информацию о том, на каком языке вы создали уровень данных, это может помочь ответить на ваш вопрос более правильным образом.

person Rachel    schedule 17.10.2009