자바 미니미 프로젝트
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"로 확실하게 만들고 싶다.
- 실제 서버를 구현해보고 싶다.