* Operation 은 보통 Method 와 비슷한 의미로 쓰이며 객체가 수행할 수 있는 연산을 의미한다. 엄격하게는 Operation 에 대한 특정한 하나의 구현을
Method 라고 부른다. Polymorphism 을 지원할 경우 한 Operation 은 여러 Method 를 가질 수 있다.
* TDD 에서 사용되는 Design Pattern
> Command
- 계산 작업에 대한 호출을 메시지가 아닌 객체로 표현
> Value Object
- 객체가 생성된 이후 그 값이 절대로 변하지 않게 하여 별칭 문제가 발생하지 않게 한다
> Null Object
- 계산 작업의 기본 사례를 객체로 표현
> Template Method
- 계산 작업의 변하지 않는 순서를 여러 추상 메서드로 표현한다. 이 추상 메서드들은 상속을 통해 특별한 작업을 수행하게끔 구체화된다.
> Pluggable Object
- 둘 이상의 구현을 객체를 호출함으로써 다양성을 표현한다.
> Pluggable Selector
- 객체 별로 서로다른 메서드가 동적으로 호출되게 함으로써 필요 없는 하위클래스의 생성을 피한다
> Factory Method
- 생성자 대신 메서드를 호출함으로써 객체를 생성한다
> Imposter
- 현존하는 프로토콜을 갖는 다른 구현을 추가하여 시스템에 변이를 도입한다 (요즘 날의 Test-Double 을 이용한 패턴을 뜻함)
> Composite
- 하나의 객체로 여러 객체의 행위 조합을 표현한다.
> Collecting Parameter
- 여러 다른 객체에서 계산한 결과를 모으기 위해 매개 변수를 여러 곳으로 전달한다
* TDD의 사용 단계에 따른 Design Pattern 분류
패턴 |
테스트 작성 |
리팩토링 |
Command |
O |
|
Value Object |
O |
|
Null Object |
|
O |
Template Method |
|
O |
Pluggable Object |
|
O |
Pluggable Selector |
|
O |
Factory Method |
O |
O |
Imposter |
O |
O |
Composite |
O |
O |
Collecting Parameter |
O |
O |
'SW 공학 > SE 서적' 카테고리의 다른 글
///실용주의 프로그래머 (0) | 2020.10.16 |
---|---|
★클린 아키텍처 / 로버트 C.마틴 / 인사이트 (0) | 2020.10.02 |
★ 자바와 JUnit을 활용한 실용주의 단위테스트 / 제프 랭어, 앤디 헌트, 데이브 토마스 / 길벗 (0) | 2020.09.20 |
켄트 벡의 구현 패턴 / 켄트벡 / 에이콘출판사 (0) | 2019.09.03 |
★ 소프트웨어 장인 / 산드로 마쿠소 / 길벗 (0) | 2019.08.04 |