Бизнес-логика в многосайтовом приложении (внешний интерфейс, серверная часть 2, серверная часть 3, серверная часть)
Предположим, у меня есть приложение для управления курсами.
ОБРАТНЫЙ СТУДЕНТ:
- студент может просматривать курсы, подписаться на курс, оценить курс...
ОБРАТНАЯ ШКОЛА:
- в эту школу можно вставить курс, подписать ученика на курс....загружать фаями за курс
ОБРАТНЫЙ УЧИТЕЛЬ:
- учитель может загружать файлы на курсе....
,
Как вы можете видеть, некоторые функции совместно используются приложениями.
Где я должен разместить бизнес-логику?
Я могу написать "основную бизнес-логику" и поделиться ею? Или лучше создать 3 совершенно разные бизнес-логики?
1 ответ
Вы знакомы со следующими принципами?
Короткий ответ (вероятно) заключается в том, что вы хотите, чтобы все ваши BL были в одном месте, но были созданы таким образом, чтобы вы следовали CCP и CRP.
Да, есть возможность поделиться и повторно использовать BL, но это будет зависеть от того, как вы разрабатываете остальную часть решения.
Что в принципе говорят эти принципы (в вашем случае), так это то, что Teacher
, Student
а также School
Объекты являются частью одного и того же домена, они, вероятно, должны идти вместе.
Прочитайте это, это должно помочь, если вы новичок во всей архитектуре: 5-уровневая архитектура (PS - хотя она ориентирована на ASP.NET, все еще есть много основ, которые применяются более широко).