리팩토링. 특이케이스 전용 클래스를 만들기


리팩토링. 특이케이스 전용 클래스를 만들기

아래처럼 null 이거나 0 이거나 특정 값이 없는 특이 케이스가 존재해서 매번 전용 로직을 넣어야 하는 경우, 특이 케이스 전용 클래스를 이용해 볼 만합니다. int getPay(Member member) { if (member.getName() == null ) ? return 0; return member.getPay() * 3; } String getOrg(Member member) { if ( member.getOrg() == null ) ... } 아래처럼 특이 케이스 기본값이 세팅되도록 생성자를 만든후 class UnknownMember extends Member { UnknownMember() { super(0, null, 0, -1);' } 이후 부터는 분기 로직을 일일이 넣지 않더라도, 아래처럼 부모 클래스 타입을 통해 일관되게 구현을 할 수 있게 됩니다. return member.getPay();...



원문링크 : 리팩토링. 특이케이스 전용 클래스를 만들기