본문 바로가기

Refactoring2

[테스트 & 리팩토링 6편] 팩토리 패턴 if else 줄이기 (map, functional interface 사용) source 는 Github 에 있습니다. 목차는 테스트 & 리팩토링 목차 에 있습니다. [테스트 & 리팩토링 6편] 팩토리 패턴 if else 줄이기 (map, functional interface 사용) 팩토리 패턴이란? 객체를 생성해주는 패턴 중 하나 입니다. 객체를 생성하는 인터페이스를 미리 정의하고, 인스턴스를 만들 클래스의 결정을 서브 클래스에서 결정합니다. 아래 소스는 팩토리 패턴으로 구현한 소스이며, 리팩토링 전입니다. If else 를 줄이는 방법 아래와 같이 Map 에 집어넣고 데이터를 가져온다면 if else 를 줄일 수 있습니다. interface 구현 없이 Functional interface 사용 Supplier functional interface 는 매개변수 없이 T 를 리턴.. 2022. 8. 1.
[테스트 & 리팩토링 1편] 외부 연동 코드를 테스트 하는 방법 목차는 테스트 & 리팩토링 목차 에 있습니다. [테스트 & 리팩토링 1편] 외부 연동 코드를 테스트 하는 방법 아래와 같이 외부 연동 API 를 호출하는 서비스 및 메소드가 있다고 가정하겠습니다. MemberService.register() 를 테스트 코드로 만들어 테스트 하고 싶은데 외부 연동 메소드가 있습니다. 이럴 경우 Mock 을 사용해서 처리를 할 수도 있지만 Mock 을 사용하기 보단 interface 를 만들어 추상화해서 처리하는 방법에 대해서 정리했습니다. public class MemberService { public void register() { ... ... String result = ExternalApi.call(); ... ... } }interface 를 사용하여 작성한 so.. 2022. 3. 24.