우아한테크코스 3기 백엔드 Lv1 [블랙잭 - 1단계] 학습로그

김태희·2021년 3월 4일
0
post-thumbnail

Pull Request

인비의 학습로그


최초 PR


[OOP] 추상클래스 - 5

내용

  • 도메인들의 공통 부분들을 추상클래스로 뽑아 추상화 했다.
  • 중복이 사라지고, 자식클래스들이 매우 간단해졌다.
  • 인터페이스를 추상클래스에서 implements하면 무조건 인터페이스의 모든 메소드들을 구현해야 하는 줄 알았는데, 인터페이스의 일부 메소드들을 추상메소드로 둘 수 있음을 배웠다.

링크


[OOP] 인터페이스 - 5

내용

  • 공통 메소드들을 인터페이스로 뽑아 추상화 했다.

링크


[TDD] 테스트 주도 개발 - 5

내용

  • 책 [객체지향의 사실과 오해] 의 내용을 참고해, TDD를 통해 메시지(책임)로부터 시작하여 그에 따라 필요한 속성들이 자연스럽게 정해지는 OOP를 구현했다.
  • TDD를 하니 테스트 할 수 있는 코드를 작성하게 되었다.
  • 적절한 단위 테스트 케이스 작성을 통해, 안전하고 점진적인 리팩토링을 할 수 있었다.

링크


[Java] Enum - 3

내용

  • Enum을 사용해 관련된 상수들을 하나로 묶어 명확하고 편리하게 상수를 활용했다.

  • 상수와 관련된 값들을 같이 묶어 활용했다.

링크


[디자인 패턴] 전략패턴 - 4

내용

  • 딜러가 몇 장의 카드를 반환할지 결정하는 데에 전략패턴을 사용했다.

  • 전략패턴을 적용하면서, 최소한의 코드 수정으로 전략을 다르게 가져갈 수 있고, 확장에도 자유로음을 느꼈다.

링크


[디자인 패턴] 싱글톤 패턴 - 2

내용

  • 페어 멍토의 제안으로, 애플리케이션 전체에서 공유되는 카드 뭉치 객체에 싱글톤 패턴을 적용했다.

  • 애플리케이션 전체에서 공유되는 객체에 대해서는 static 적용만 해왔는데, 싱글톤 패턴 적용에 대해 배웠다.

링크



2차 코드리뷰


[디자인 패턴] 팩토리 메서드 패턴 - 3

내용

  • new 연산자는 단순히 생성밖에 못한다.
  • 팩토리 메서드 패턴을 이용하면, 호출하는 팩토리 메서드에 따라 다른 생성 결과를 낼 수 있다.

링크


profile
Web Back-End (Spring, JPA, AWS)

0개의 댓글