열심히배웁시다
250
2018-06-14 18:42:18 작성 2018-06-14 18:42:54 수정됨
3
483

게시판 공부중인데... 뭔가 궁금증이 생깁니다.


현재 부트스트랩으로,, 회원전용 게시판을 만들고 있습니다.

(프론트 컨트롤러, cmd 패턴으로 구현, 스프링 X)



만들다보니 구현은 되는데,,

디자인 패턴이야 정하기 나름이겠지만,,


뭔가 중구난방으로 개발하는 느낌이 듭니다.


<Board 객체 관련 Command(서비스) 클래스>




<Board 객체에 접근하는 BoardDao 클래스의 메소드들>



뭔가 Dao에서 작은 업무들을 잘 쪼갠다음, 그것들을 조합해 서비스 클래스(Cmd)들을 만들어야 하는게 아닌가 싶은데,,


실제로 개발을 하면,, Cmd 하나 만들때마다 Dao의 메소드들을 계속 만들어내는 것 같네요.

객체지향의 장점을 잘 못살리는 듯한 느낌이 듭니다.


사진을 보시고 혹시라도 대강이라도 고쳐야 할 점들이 보이면 

말씀해주시면 감사하겠습니다.

0
0
  • 답변 3

  • Jpring
    25
    2018-06-14 19:44:06

    개발에 정확한 답은 없으나 보고 느낀 제 생각을 적어보겠습니다 어디까지나 저도 공부하는 입장이라 부족하니 하나의 의견정도로 봐주시면 될거같습니다


    Board객체에 접근하는 dao라는 말이 이해가 잘안가는데 디비 또는 데이터에 접근하는거라고 보고 답변 해보겠습니다


    Cmd클래스와 dao클래스의 범위를 명확하게 정의할 필요가 있어보입니다 dao는 데이터 접근(쿼리실행)정도만 cmd는 입력 받은값 혹은 dao에서 반환 받은값에 필요한 로직정도만 구현하는 방법이 있을거같네요

    기능마다 cmd클래스를 만드는건 확실히 좋아보이지 않네요 cmd내에는 메소드가 한개있을거같은데 맞나요?

    cmd를 도메인에 알맞게 나누시고 관련 도메인 메소드는 하나의 cmd클래스에 구현을 하고 cmd앞에 요청정보(명령)에 따라 어떤 cmd클래스의 메소드가 실행되야 하는지 분기처리하는 방법은 어떨까요?

    Spring에서는 request의 요청 url을 보고 핸들러매핑에서 알맞은 controller의 handler메소드를 실행하도록 합니다. 이런 부분을 참고하시면 좋을거 같네요


    어디까지나 의견제시 정도로 봐주시고 또 다른 의견이나 잘못된부분 지적해주시면 감사하겠습니다

    0
  • 열심히배웁시다
    250
    2018-06-14 20:00:43 작성 2018-06-14 20:00:54 수정됨

    juhyung


    다 완성후에 한번 나눠보거나,, 다음부터는 설계에 조금 더 고민을 한 뒤에 만들어봐야겠습니다.

    아직 미숙해서 전체적인 모습이 눈에 잘 안들어오는 것 같습니다.


    답변해주셔서 감사합니다.

    0
  • Jpring
    25
    2018-06-14 20:06:55

    이런질문엔 깃 레파지토리 주소를 함께 올리신다면 다른 친절하신 고수님들께서 도움주시기 더 좋을거같네요

    혹시 깃을 사용안하신다면 사용하시는거 추천드립니다

    게시판만드신다면 댓글기능도 만드실거 같은데 board와는 다른 방식으로 하신다면 더 재밌을거같아요 ㅎㅎ

    0
  • 로그인을 하시면 답변을 등록할 수 있습니다.