Gradle 활용
Project 설계 : 요구사항(룰, 동작환경, 데이터 범위), 일을 객체로 나누고 연관짓기(필요시 Interface로 추상화), 핵심로직 설계하기(외부 dependencies는 최소화)
Project 구현 - Engine layer : 게임의 핵심 (ex. BaseBall, BallCount, I/O, NumGen)
Project 구현 - App layer(main method) : engine 구동하여 게임 실행
gradle에 외부 라이브러리 설치, lombok 라이브러리 활용, (아직 다는 모르겠지만) 객체지향적 프로젝트 설계
lombok을 사용하면 프로젝트 생산성이 매우 향상될 것 같다.
프로젝트 설계와 구현은 너무나 도움되는 강의였다. 사고의 흐름에 -클래스를 어떻게 설계하고 왜 인터페이스로 추상화하고, 객체에 일을 어떻게 나누고 연관짓는지- 따라서 프로젝트를 구현하는 설명은 처음 들었다. 그중엔 내가 알게모르게 적용하던 방식도 있고(engine.run()), 궁금했던것(굳이 객체를 사용해야 되는 부분인지(BallCount 클래스), I/O는 어디서 처리하여 어떻게 engine과 연결할 것인지)도 알게됐다. 최소한 2번은 다시 들어봐야하는 강의다.
객체지향 원칙 - Design Pattern - 도 공부하고, 새로 배운 문법(Functional Interface, Lambda Expression, Wrapper), 외부 라이브러리를 잘 공부하여 활용 능력을 기르면 한단계 더 업그레이드 될 수 있을 것 같다.