[우아한 남매들] 배달의 만족 회고

김민중·2024년 7월 15일
0
post-thumbnail

자바 미니미 프로젝트

6명이서 약 5일동안 진행한 자바 프로젝트이다. "배달의 민족"앱을 참고했고,로그인/회원가입/주문/메뉴관련 기능을 간단하게 구현해보았다.
DB는 따로 쓰지않고 자바의 "Map"을 사용하였고 MVC패턴을 적용해서 개발했다.

깃허브링크

https://github.com/woowahan-nammaes/SatisfactionOfDelivery


프로젝트 후기

Keep

  • 도메인 기준으로 분리해서 개발하니까 개발생산성이 좋아졌다.
  • 클래스, 메소드, 속성등 설계를 꼼꼼하게 하고 개발을 하니까 개발할 때 훨씬 편했다.
  • 깃,코드컨벤션을 명확히 함으로써 코드 리뷰, 머지에 큰 이슈가 발생하지 않았다.
  • SRP, 캡슐화, 싱글톤패턴등을 생각하면서 하니까 "객체지향"의 특징을 더욱 살릴 수 있었다.

Problem

  • 2명이서 User도메인을 같이 개발하다 보니까 분리하는 게 쉽지않았다.
    • 페어프로그래밍으로 진행했다.
  • 서로 합치고 테스트할 때 이슈가 좀 발생했는데, 테스트 코드를 도입했으면 어땠을까? 라는 생각을 했다.
  • Main 클래스를 Controller로 따로 만들지 않고 main메소드에서 바로 시작해서 진입점이 모호해졌다.
    • 처음 진입점 : View ⇒ 서비스 시작 시, 일단 비회원 화면을 보여준다. 그 후에 사용자의 선택에 따라 적절한 Controller로 분기가 넘어간다.(이 경우, View가 Controller를 부르는 방식으로 설계된다.) 그 후 호출된 Controller에서는 유저 요청에 따라 적절한Model을 가져오고 View를 보여준다.(Controller ⇒View, Service 호출)
    • 처음 진입점 : Controller ⇒ Main에서 분기 로직을 컨트롤러로 생각해야한다. 마치 api요청에 대한 응답.

Try

  • TDD방식으로 테스트 코드를 먼저 작성하고 개발을 해보고 싶다.
  • 인터페이스도 사용하여 더 객체지향의 이점을 이용하고 싶다.
  • main메소드를 Controller로 따로 빼서 진입점이 "Controller"로 확실하게 만들고 싶다.
  • 실제 서버를 구현해보고 싶다.
profile
개발블로그

0개의 댓글