Skip to content

[볼링 게임] Step1 & Step2 - #98

Merged
javajigi merged 1 commit into
code-squad:pkgonanfrom
pkgonan:pkgonan
Jan 8, 2019
Merged

javajigi merged 1 commit into
code-squad:pkgonanfrom
pkgonan:pkgonan

Conversation

@pkgonan

@pkgonan pkgonan commented Jan 6, 2019 •

Copy link
Copy Markdown

안녕하세요 재성님
볼링게임 Step1 & Step2 코드리뷰 부탁드립니다 :)

작업하며 신경 쓴 부분은 아래와 같습니다.

  • 패키지 외부에서는 구현체가 아닌, 인터페이스를 통해서만 접근하도록. (접근제어자)
  • 레이어 분리 (도메인, 도메인 서비스, 어플리케이션 서비스 등)
  • 객체를 최소단위로 추출 (Pin 등등)

한가지 질문 드리고 싶은 부분은.

  • View를 어디에서 결정할 것인가 ? 입니다.
  • View는 Console & Web 등등 여러가지가 있을 수 있는데요.
  • 가장 말단인 Application.java를 ConsoleApplication.java & WebApplication.java 와 같이 나누는게 좋을지..
  • 조언 부탁드리고 싶습니다.

현재 구조는 Application Service인 BowlingGame.java에서 View에 의존성을 가지고 있습니다.
좋은 방법 같진 않아 보이는데,

물론 해당 위치에서 View 구현체에 강결합을 가지는 것 보다
인터페이스로 접근하면 조금 더 나을 텐데 Web 쪽 인터페이스를 아직 확인하지 못한 터라, 인터페이스로 추출하기에도 망설여 지네요.

ConsoleApplication.java & WebApplication.java와 같이 View에 대한 구분을 Endpoint에서 하는게 가장 좋은 방법인지 궁금합니다. 감사합니다!

@pkgonan pkgonan closed this Jan 6, 2019
@pkgonan pkgonan reopened this Jan 6, 2019

@javajigi javajigi left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

와. 구현 잘 했네요. 💯
아쉬운 점은 테스트 코드가 없다는 점이네요.
같은 로직을 tdd 기반으로 다시 한번 구현해 보면 좋을 것 같네요.

@javajigi

javajigi commented Jan 8, 2019

Copy link
Copy Markdown
Contributor

View는 사용자가 콘솔 기반이냐, 웹 기반이냐이기 때문에 main() 메소드를 가지는 ConsoleApplication.java & WebApplication.java 두 개의 클래스 기반으로 구현하는 것이 맞을 것 같아요.

@javajigi
javajigi merged commit f8b6e39 into code-squad:pkgonan Jan 8, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants