Логіка бізнесу та рівень обслуговування


9

Я читаю цю відповідь: https://softwareengineering.stackexchange.com/a/234254/173318, будь ласка, виправте своє розуміння.

Правила бізнесу посилаються на перелік кроків бізнесу в реальному світі (без кодів).

Бізнес-логіка позначає процес перетворення ділових правил у коди, а ці купи / різновиди кодів адресовані як "Бізнес-логіка".

А для чого використовується рівень обслуговування? якщо я прочитаю цю відповідь, це звучить нічим не відрізняється від бізнес-логіки https://stackoverflow.com/a/4817935/4190539

Чи зустрічається рівень сервісу для ділової логіки та сховища?


1
"службовий рівень" - це загальний термін, він може містити або містити все, що завгодно. Це питання, яке ви цитували, стосувалося "службового рівня в ASP.NET MVC", що надає терміну більш конкретну увагу. Ви навмисно говорите про останнє? Або ви просто пропустили різницю?
Док Браун

ось що я отримав поки що. але я хотів би почути ваше пояснення щодо них усіх.
Какаші

Відповіді:


11

"Сервісний рівень" - це архітектурний термін. Він відноситься до частини системи, яка знаходиться десь посередині багаторівневої архітектури , нижче рівня взаємодії з користувачем, але вище рівня доступу до даних.

Бізнес-логіка може бути реалізована в рівні обслуговування, тим самим застосовуючи ділові правила.

Однак зауважте, що є випадки, коли бізнес-логіка закінчується в інших шарах. Наприклад, деякі бізнес-правила застосовуються на рівні взаємодії з користувачем з метою поліпшення роботи користувачів (наприклад, валідатори, написані на Javascript, щоб ви могли перевірити їх без зворотного шляху до сервера). У цьому випадку сервісний рівень зазвичай дублює примусове виконання.

Інші правила ведення бізнесу можуть бути застосовані лише на рівні бази даних, наприклад, коли виникають проблеми з сумісністю (уявіть програму, де ви можете перевірити бібліотечну книгу) або проблеми щодо продуктивності (уявіть програму, яка обчислює щорічну комісію зайнятого продавця на основі складна структура плати).


це нормально, якщо у мене є сервісний каталог і містять класи як місця, де я вкладаю логіку ведення бізнесу, і я ввожу сховище, інші служби, перевірку?
Какаші

Так, природно вводити інші сервіси, включаючи доступ до даних, в рівень обслуговування - він повинен якось зберігати дані, і якщо правильно написано, він не знає, як це зробити самостійно.
Джон Ву

сховище не повинно містити жодного бізнес-коду? це означає, що сховище повинно бути очищеним від валідації, фільтра або будь-яких інших маніпуляцій зі стрижгом, таких як strtolower, наприклад?
Какаші

Не обов’язково (я вже наводив вам два приклади у своєму дописі), але це хороша практика перенести стільки ділової логіки в рівень обслуговування, скільки ви можете.
Джон Ву

о добре, до речі, у вас є код шаблону сховища, який я бачу?
Какаші
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.