/java-chess-DI

DI패턴을 적용한 체스 게임 예제

Primary LanguageJava

DI 패턴을 적용한 체스 게임 예제

체스 보드를 테스트할 때는 빈 보드에서 원하는 위치에 체스 말을 둘 수 있다면 쉽게 테스트를 할 수 있다. 하지만 실제 프로덕션 코드에서 체스 말은 특정 위치에 초기화가 되어야 한다. 즉, 테스트 코드에서 보드 초기화와 프로덕션 코드에서 보드 초기화가 서로 다르다. 이 때, DI 패턴을 적용한다면 유연하게 이를 대처할 수 있다.

  • Tag를 보면 DI 패턴을 적용하기 전에는 테스트 코드에서 사용하는 초기화 로직을 따로 Board 클래스에서 메소드로 구현하였다. 하지만 이 메서드는 테스트 코드에서만 사용하는 메서드이므로 좋지 않은 구현 방법이다. 이를 DI 패턴을 사용하여 해결하는 모습을 볼 수 있다.