Я считаю, что структурирую свои проекты, как многие люди. У вас есть уровень данных (DAO), уровень сервиса (сервисы) и уровень представления (Spring MVC, Wicket, ...).
Обычно сервис начинает быть довольно простым и «коротким». Business Objects? Я считаю, что структурирую свои проекты, как многие люди. У вас есть уровень данных (DAO), уровень обслуживания (службы) и уровень представления (Spring MVC, Wicket, ...). Обычно услуга начинается с ...
Я считаю, что структурирую свои проекты, как многие люди. У вас есть уровень данных (DAO), уровень сервиса (сервисы) и уровень представления (Spring MVC, Wicket, ...).
Обычно сервис начинает быть довольно простым и «коротким». Business Objects? Я считаю, что структурирую свои проекты, как многие люди. У вас есть уровень данных (DAO), уровень обслуживания (службы) и уровень представления (Spring MVC, Wicket, ...). Обычно услуга начинается с ...
Я считаю, что структурирую свои проекты, как многие люди. У вас есть уровень данных (DAO), уровень сервиса (сервисы) и уровень представления (Spring MVC, Wicket, ...).
Обычно сервис начинает быть довольно простым и «коротким». Однако постепенно сервис должен поддерживать все больше и больше вариантов использования, пока через некоторое время он не превратится в один огромный класс с множеством строк и методов, который будет трудно читать и поддерживать. В то время вы можете либо решить придерживаться этого, либо начать рефакторинг, что является громоздкой и «опасной» работой, которая может потребовать много работы.
Я ищу решение, как предотвратить необходимость в любом будущем рефакторинге.
Один из подходов может заключаться в разделении ваших услуг на несколько подуслуг и превращении вашей исходной услуги в служебный фасад. Так, например, вместо большого UserService у вас может быть UserServiceFacade, который делегирует вызовы PasswordService, RegistrationService, ....
Я думаю, это неплохое решение, но я не в восторге от него, потому что:
Другое решение может использовать Business Объекты, которые (в моем понимании) также можно рассматривать как подуслуги, но по одному для каждого конкретного варианта использования, так что у вас могут быть BO, такие как CreateUserBO, CheckPasswordBO, DeleteUserBO, ....
Мне немного больше нравится этот подход, потому что, на мой взгляд, он предлагает ряд преимуществ:
Я, однако, также вижу некоторые возможные недостатки: Он успешно отправляется, но на стороне сервлета мне нужно прочитать эти пары ключ-значение в сеансе ...
Я отправляю сообщение jQuery AJAX POST в сервлет, и данные находятся в форме строки JSON. Он успешно опубликован, но на стороне сервлета мне нужно прочитать эти пары ключ-значение в объекте сеанса и сохранить их. Я пробовал использовать класс JSONObject, но не могу его получить.
Вот фрагмент кода
$(function(){
$.ajax(
{
data: mydata, //mydata={"name":"abc","age":"21"}
method:POST,
url: ../MyServlet,
success: function(response){alert(response);
}
});
На стороне сервлета
public doPost(HTTPServletRequest req, HTTPServletResponse res)
{
HTTPSession session = new Session(false);
JSONObject jObj = new JSONObject();
JSONObject newObj = jObj.getJSONObject(request.getParameter("mydata"));
Enumeration eNames = newObj.keys(); //gets all the keys
while(eNames.hasNextElement())
{
// Here I need to retrieve the values of the JSON string
// and add it to the session
}
}