Каждый слой представляет собой место, где некоторые проблемы решаются аналогичным образом, часто с использованием определенных библиотек или структур.Пытаясь понять эту работу, вы проходите через слои.НО, обратите внимание, что каждый слой скрывает детали внизу, вам не нужно понимать детали нижних уровней, чтобы понять один слой.
Так что часть Struts имеет дело с проблемами, связанными с пользовательским интерфейсом:понимание запросов пользователей, выбор некоторой бизнес-логики для вызова и выбор способа отображения результатов обратно пользователю.Это не касается того, как работает бизнес-логика, это работа следующего уровня вниз.
Под бизнес-логикой я подразумеваю код Java (или другого языка), который выражаетреалии бизнеса клиента.Например, в приложении для розничной торговли нам может потребоваться определить скидки для определенных объемов заказов.Таким образом, слой пользовательского интерфейса хочет отобразить цену для заказа клиента.Он сам не имеет никакой логики дисконтирования, вместо этого он говорит слою бизнес-логики: «Клиент X - это виджеты N и M zettuls, когда мы можем поставить и сколько мы будем взимать», и бизнес-логика определяет цену для этогоклиент, который может зависеть от всех видов вещей, таких как статус клиента, количество вещей, которые у нас есть в наличии, размер заказа и так далее.Пользовательский интерфейс просто получает ответ £ 450, который будет доставлен 16 сентября , и отображает его.
Это приводит к таким вопросам, как "почему отделить бизнес-логику от ее собственного уровня?"Есть несколько возможных причин:
- Бизнес-логика может использоваться и совершенно другим пользовательским интерфейсом
- Она уже существует из какой-то более старой системы
- Нашамозги слишком малы, чтобы думать о UI и Business Logic одновременно
- У нас разные команды, работающие над UI и BL - необходимы разные навыки
Такой же образ мышления следуетвниз по слоям.Когда вы думаете о каждом слое, важно сосредоточиться на роли слоя и относиться к другим слоям как к черным ящикам.Наш мозг, как правило, слишком мал, чтобы думать обо всем этом одновременно.Я почти чувствую, что меняю режим, когда я переключаюсь между слоями - снимаю головку пользовательского интерфейса, надеваю свою постоянную головку.
В каждом слое много материала.Предлагаем начать с чтения одного из них и задать конкретные вопросы, если вы застряли.