Связь с модулями Java - PullRequest
       6

Связь с модулями Java

1 голос
/ 15 октября 2010

У меня есть один модуль, написанный на Java - модуль веб-службы, который принимает запрос, обрабатывает его (некоторые бизнес-правила здесь), сохраняет (изменяет или удаляет) значения в дБ (используя Hibernate) и затем отправляет ответ о состоянии).Целесообразно ли провести рефакторинг этого модуля, чтобы в конце было 2 модуля: 1 - модуль веб-службы и 2 - модуль обработки, где применяются бизнес-правила и выполняются процессы БД?и если да, то какова хорошая практика для обмена информацией между модулями?Спасибо!

1 Ответ

2 голосов
/ 15 октября 2010

Помните «ПОЦЕЛУЙ» - будьте проще;глупо.

Более важно иметь чистый и поддерживаемый код, ориентированный на модель предметной области, а не разбивать его по техническим соображениям.

Да;Хранение базы данных - это один аспект, да, обработка вызовов веб-службы - это другой, но слишком легко тратить много времени, чтобы сделать «чистое» разделение, и единственный результат заключается в том, что для изменения вещей требуется больше времени.(Как всегда, кто-то работал над 14-уровневым «корпоративным» приложением.)

В идеале, «бизнес-логика» - это тот модуль, который вы пишете, а адаптация веб-сервиса и хранение данных просто должны работать"магически".Поскольку это не так, вам, очевидно, приходится иметь дело и с этим, но это не является основным направлением.

Я настоятельно рекомендую следующее: бизнес-правила = ваша модель данных.Методы веб-сервиса должны быть как можно более тонкими и раскрывать модель как можно более четко.

Это довольно полезная статья о «бизнес-уровне» http://thedailywtf.com/Articles/The-Mythical-Business-Layer.aspx

Также помните, что «слои»«являются абстрактными понятиями, и не является фундаментальным требованием, чтобы они были« физически »разделены в проектах с различными затмениями и т. д. Действительно, это не так.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...