3주차에 도메인 단위에서 기능을 설계하고 테스트 해보기 위해 Service 계층을 제회하고 기능을 구현하게 되었습니다.
기존에 로또 문제를 풀어보았었는데, 이번에도 새롭게 코드를 처음부터 다시 작성하면서 기능을 구현하였습니다!
저번 주차때 기능 명세에 관한 부분이 많이 부족하다고 생각이 들었습니다. 그래서 단순히 MVC에 맞춰 기능의 메서드 이름과 기능 내용을 적는 것이 아닌 구현 프로세스에 맞추어 명세서를 작성하였습니다.
공통 피드백에서 문서는 언제든지 변경될 수 있기에 메서드 단위가 아닌 기능 설계 및 목적 이해를 위주로 작성을 하고 살아있는 문서를 작성하도록 유도하라고 말씀해주셨습니다. 그에 맞추어 조금 더 유동적이고 프로세스, 내용에 맞춘 기능 명세를 작성하였습니다.
이번에 코드를 작성하면서 고민을 많이했던 것은 어디까지 객체를 분리해야할까? 였습니다.
Service 계층 없이 도메인 구조에서 각자 책임에 맞게 기능을 만드려 하다보니 객체를 어디까지 분리하고 어떻게 협력하게 만들지 가장 고민했던 것 같습니다.
이번 로또 게임은 객체가 생각보다 분리 된 것이 많아졌다고 생각이 들었습니다. 조금 더 객체를 줄이고 협력할 수 있게 구현할 수 있지 않았을까 생각이 들었습니다.
3주차 에서는 확실히 객체에 대한 고민을 많이 했던 것 같습니다. 객체들간의 협력도 많이 고민하게 되었고 계층에서 이루어지는 역할이 올바른가에 대해서도 많이 고민했던 것 같습니다. 그러한 고민들을 하다보니 충분히 공부가 되고, 이해하고 알아보면서 여러모로 공부가 많이 되었던 3주차 과제였습니다 🚀
어느덧 마지막 과제만이 남았습니다. 이번 1년이 전혀 후회가 남지 않도록 최선을 다하고 우테코에 합격하기까지 꼭 열심히 달리도록 하겠습니다 🏃♀️