본문 바로가기

프로그래밍

TDD, BDD, DDD, RDD

TDD (Test)

 - 테스트를 먼저 작성하고 해당 테스트 케이스를 통과하는 코드를 작성

 - 그 후 상황에 맞게 리팩토링 과정을 거침

 - 코드 생산성에 문제가 있고, 러닝커브가 크다.


BDD (Behavior)

 - TDD에서 한발 더 나아가 테스트 케이스 자체가 요구사항이 되는 개발 방식

 - TDD에서는 유닛 테스트로 작성 된 테스트 케이스에 대한 문서를 작성했지만, BDD는 이것을 결합 테스트와 시나리오 테스트까지 확장하여 각각에 해당하는 문서를 대체했다.


DDD (Domain)

 - 도메인 그 자체와 도메인 로직에 초점을 맞춘다.

 - 일반적으로 사용하는 데이터 중심의 접근법을 탈피하여 순수한 도메인의 모델과 로직에 집중한다.


RDD (Responsibility)

 - 책임을 찾고 책임을 수행한 적절한 객체를 찾아 책임을 할당하는 방식으로 협력을 설계하는 방법

 - 객체의 구현이 아닌 책임에 집중


[참조]

https://asfirstalways.tistory.com/296

'프로그래밍' 카테고리의 다른 글

디미터 법칙  (0) 2020.04.24
GRASP 패턴  (0) 2020.04.22
GraphQL  (0) 2019.10.01
함수객체와 모나드  (0) 2019.08.19
Reactive Programming  (0) 2019.03.20