작성
·
2.3K
0
안녕하세요 강사님! 강의 잘듣고 있습니다ㅎㅎ
비지니스 로직을 제가 Controller에 많이 넣는것 같습니다ㅜ
controller와 service의 구분이 잘 안되는것 같아서
혹시 Controller와 Service에 넣는 코드들은 어떤 기준이 있는지 여쭤봐도 될까요?!
(객체에 set해주는 부분들은 보통 controller에서 처리를 하나요 아니면 view에서 값을 controller에서 받아온후 service로 넘겨서 처리를 해주는건가요?)
답변 4
1
답변감사합니다!!
오늘 제가 강사님의 JPA강의도 구매를했습니다! 저도 정확히 머리속에서 정리가 안되는것 같아서 JPA강의부터 다시한번 강의를 쭉 들어보고 질문이 필요할것같으면 정리해서 구체적으로 질문하겠습니다! 늦은시간에도 답변해주셔서 정말 감사합니다ㅎㅎ!!
1
BeomJun Lee님 도움을 드리고 싶은데, 정확히 어떤 부분 때문에 고민하시는지 알 것 같으면서도, 제가 답변을 드리기에 모호한 부분이 있습니다.
본인이 생각하는 좋은 케이스, 안좋은 케이스, 애매모호해서 궁금한 케이스 3가지를 예제와 함께 정리해서 조금 더 구체적으로 질문해주세요^^!
1
안녕하세요. BeomJun Lee님^^
좀 극단적이기는 한데요. 이렇게 딱 생각하시면 좋습니다!
컨트롤러같은 웹 계층이 없어도 애플리케이션이 동작해야 합니다.
컨트롤러는 웹 계층을 처리하기 위한 코드만 존재하는 것이 좋습니다. 예를 들어서 웹 계층이 없이 단순히 메인 메서드를 통해서 콘솔에서만 동작하는 애플리케이션을 추가로 개발해야 해도 대부분의 서비스 로직을 재사용할 수 있다면 좋겠지요?
반대로 이야기하면 웹 계층을 위한 폼 데이터를 처리하고, 화면에 뿌릴 데이터를 모아서 넘겨주고 이런 웹 계층 관련 일들은 모두 컨트롤러에서 담당해야겠지요?
이런 관점을 접근하시면 어느정도 고민을 덜 수 있을 거에요.
0
감사합니다!!!!! 강의에서는 폼에서 받은 데이터를 Controller에서 setter해주셨었던걸로 기억하고 있습니다!
웹계층을 위한 폼데이터 처리도 컨트롤로에서 해줘야 한다고 설명 하셨는데 그러면 폼에서 받은 객체를 Service로 가져가서 setter해주는게 아닌 Controller에서 setter해줘야 하는건가요?! 이 부분이 많이 구분하기 힘든것 같습니다
이 고민만 해결되면 구분을 잘 할수 있을것 같습니다!