TIL-210806

박건희·2021년 8월 9일

Keyword : Gradle 활용(외부 lib 설치), 숫자야구 project 설계/구현-Engine, App Layer

  • Gradle 활용

    • 소스코드 빌드/실행
    • 외부 의존성 lib 설치 : lib repository에서 검색후dependencies를 등록하면 gradle이 관련 jar을 설치해줌.
    • lombok 라이브러리 : Java 프로젝트에 유용한 라이브러리. (dependencies 등록후 setting-Plugins에서 lombok 설치해야됨)
      @annotation추가시 사용자 정의 Class에게 Constructor(AllArgs, NoArgs), toString, getter/setter, equals, hashcode를 만들어줌(컴파일시 code generate)
      (참고 : lombok 동작 원리, lombok 설명)
  • 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), 외부 라이브러리를 잘 공부하여 활용 능력을 기르면 한단계 더 업그레이드 될 수 있을 것 같다.

0개의 댓글