My-Book(History)

켄트 벡의 구현 패턴 - 클래스

아롱사태남 2016. 10. 14. 17:13
반응형

단순한 상위클래스 이름

- 메타포 를 사용하자 ( 메타포란 사용을 쉽게 하기 위한 메뉴, 아이콘등이 가장 대표적인 메타포라고 말할 수 있습니다 )

 

 

한정적 하위클래스 이름

      - 상위 클래스로 부터 상속을 받았다는 것을 알리고자 클래스명 뒤에 Handle 과 같은 명칭을 사용하자

 

 

추상 인터페이스

- 인터페이스를 통해 유연성을 얻을 수 있는 경우에만 인터페이스에 비용을 지불해야 한다.

 

 

버전 인터페이스

   - 최초 설계한 메소드를 많은 클래스가 구현하고 있는경우 새로운 메소드를 확장하기 어려운경우 아래 예제를 이용하자( extends를 사용해야한다는건   알지만 나중에 이글을 읽을때 다시 복습하기 위해서다)

 

ex)

1. 최초

interfacec Command {

void run();

}

 

2..확장

 interface ReversibleCommand extends Command() {

void undo();

}

 

3. 사용

Command recent ;

if(recent instanceof ReversibleCommand) {

ReversibleCommand down = (ReversibleCommand) recent;

down.undo();

}

 

반응형