2010-07-21 4 views
4

NullPointerExceptions을 피하기 위해 인터페이스와 함께 인터페이스의 수정 불가능한 더미 구현을 제공하는 것이 유용하다는 것을 알게되었습니다. 이처럼 :더미 구현 디자인 패턴 이름

public interface Action { 

    void perform(); 

    public static final Action dummy = new Action() { 
    public void perform() { 
     /*nothing*/ 
    } 
    }; 

} 

Action.dummy는 대신 악을 null 사용할 수 있습니다.

이 디자인 패턴의 이름이 있습니까?

+4

프로그램이 작동하지 않고 패턴이 왜 어떨지 모릅니다. – NullUserException

+0

@ NullUserException : lol! +1 – DanP

답변

5

Null Object pattern (올바르게 기억하면 M. Fowler에서 제공).

다음은 Fowler 's Refactoring 서의 Introduce Null Object입니다.

+0

예, Fowler는 다양한 출판물에서이 책을 널리 알 렸습니다. 그는 PoEAA에서 Special Case로 불렀습니다. 일반적으로 비즈니스 앱은 실제로 찾고자하는 객체가 null이되기를 원하는 실제 동작이 있다는 것을 알게됩니다. – Berryl

+0

"SpecialCase"라는 단어는 의미가 없습니다. 특별한 경우는 모든 것이고 아무것도 아닌 반면, "Null Object"는 더 의미가 있습니다. – deamon