XI. Java Basic

Gunju Kim·2024년 9월 20일
post-thumbnail

미니 프로젝트 시리즈 - 게시판 어플리케이션 이야기 2

이전 게시물에서 이어집니다.

  • 그렇게 게시물이 받아야 되는 정보와 입력 받고 처리해야 되는 정보들을 함수와 생성자로 만들어서 처리를 하고 게시물이라는 설계를 완성을 했다. 그리고 문제는 그 다음부터 시작되었다.

alt text

  • mvc 모듈이라는 패턴을 정리하면서부터 처음으로 머리가 아프기 시작했다. 기존에는 메인에 다 쓰는 방식으로 배웠던지라 이걸 기능을 어떻게 나누어야 하고 어떤 기능을 어떤 창에 넣어줘야 좀더 효과적으로 mvc 를 다루게 되는지 눈에 익지 않았던 것이다. 한마디로 눈에 익지만 않았을뿐 나머지 부분에서는 mvc를 사용하는게 훨씬 더 효과적으로 작용할 수 있다는 것을 알고있었다.
  1. MVC(model, view, controller)패턴

alt text

  • MVC 패턴은 개발자가 만드는 개발 환경에서 어떻게 보면 좀 깔끔떤다라고 할수 있을정도로 개발하는 환경을 분업화 하여 잘 정돈하는 방식을 말한다. model 즉, 데이터를 받는 것들을 분류 위의 게시판 어플을 예로 들면(게시물, 유저, 좋아요 매니저등등) 이 있다. 매개변수를 받고 따로 그 데이터를 관리해줘야 되는 모든 것들은 다 따로 나누어서 설계하고 한번 설계가 끝난 코드는 언제든지 다시 재사용 할수 있게 분업화 하여 작업하는 것이다.

  • 따라서 위의 패턴을 토대로 설계를 하게 되면 처음에는 헷갈릴 지언정, 눈에 익으면 model 은 무엇이고, view는 무엇이 들어가야 하고, controller 는 무엇을 넣어야 하는지 머리속에 들어오기 때문에 메인 코드가 깔끔해지고 redundancy, 코드 중복을 없애므로 깔끔하게 코딩을 할 수 있다.

alt text

  • 자 다시한번 여기를 보자. PostDao 라는 클래스는 결국에는 view 라는 항목에 속하는 mvc이다. 여기에서 게시물의 모든것들을 보여주고 관리하고 꺼내주는 역활을 담당하게 하여 메인에서 복잡하게 쓰여질 코드들을 나눠서 작업함으로써 종국에는 좀더 깔끔하게 보여지게 해준다.

1. 먼저 설계해준 post 클래스 타입을 불러오기 위해서 arrayList에 Post 만 담은 post 타입의 arraylist 를 만들어준다

2. 그리고 private 을 지정해주어 외부에서 건들이지 못하게 지정
3. void 값을 이용해 여기서 save 와 remove 가 이루어지게 메소드를 만들었다.

이렇게 postdao 에서 설계를 해주면 앞으로 후술할 controller mvc에서 이 postdao 만 불러와서 위에 적힌 메소드를 실행해주는 함수만 만들어주면 훨씬 더 깔끔하게 코드를 빌드업 할수 있다.

미니 프로젝트를 하면서 정말 세밀하게 코드를 빌드업하는 과정을 정말 정말 많이 배우고 있다고 할수 있다.

profile
처음이라서 그래 가본적 없던 길에

0개의 댓글