language/java

원카드 만들기 - v2.설계도

wooweee 2023. 4. 7. 13:33
728x90

1. 원카드 설계도 v2

  • v1 : hardCoding을 통해 원카드를 작성했기 때문에 설계도 조차 없다.

 

  • v2 : v1에서 수정할 부분과 전반적인 상황이 눈에 들어오기 때문에 작을 클래스로부터 TDD를 수행하면서 키워나갔다.
  • v2 자가피드백
    • 재료에 속하는 class는 금방 만들어 냈지만 이 class들을 조합하는 과정인 Dealer, CardGame class는 아직 미숙하다.
      oneCard라는 게임이 복잡해서 더욱더 분리해서 메서드를 작성하기가 힘들었다.
    • 그리고 CardGame에서보면 code가 메서드 명만 봤을때는 몇개 없지만 method 구현부자체가 너무 복잡하고 중복되는 부분들이 보였다.
    • 그리고 class를 상속하는 class가 어떤식으로 연결될지 생각하면서 code를 짰지만 뭔가 찝찝한 부분들이 존재한다.
  • v2 설계도 - 알아낸 점
    • params가 너무 많고 이를 줄일 방법을 생각해야된다. - params를 줄이자니 상속받는 classe들이 너무 많아져서 뭔가 좋지 않은거 같다.
    • 서로 연결된 class들 중 다른 곳에 있으면 더 좋을 것 같은 부분들이 발견 되었다. -Player, MylinkedList
    • 메서드의 params는 동일하고 구현부만 다른  method 존재 -> code로 봤을 때는 답도 없었는데 설계도로 보니깐 추상 클래스를 만들어서 작성하는 것도 방법일 거 같다.
      -> method가 하나 뿐인데 추상 클래스를 받는 것이 맞을까? 인터페이스로 만들어야하나...

 

 

GitHub - taewan625/java: java portfolio

java portfolio. Contribute to taewan625/java development by creating an account on GitHub.

github.com

 

 

설계도 좌측

 

설계도 우측