트랜잭션 스크립트 패턴 vs 도메인 모델 패턴

배경 팀 코드를 읽어보게 되었는데, 트랜잭션 스크립트 패턴에 가까운 형태를 취하고 있었다. 지금까지 도메인 모델 패턴을 사용해온 입장에서는 상당히 절차지향 적이고 유지보수하기 힘들어보였는데, 이 두 가지 패턴이 어떤 장단점이 있는지 비교해본다. 개인적인 견해는 강조 표시로 표기했다. 트랜잭션 스크립트 패턴 프레젠테이션 레이어에서 오게되는 단일 요청별로 처리되는 메서드가 각각 존재하는 패턴이다. 비즈니스 로직을 처리하는 하나의 기능을 스크립트라고 표현한다. 일반적으로 유스케이스 하나당 하나의 클래스를 가진다. class BuyProductBO { List<Product> getProducts(string filter) { /* some database query */ } void putInCart(int productId, int amount) { ....

2024-09-15 · 2 min · 317 words

DDD

배경 우리팀 코드가 DDD를 사용하고 있다고 설명을 들었다. DDD가 무엇인지 이해하고, 어떤 장단점이 있는지 알아본다. 용어 정리 도메인 소프트웨어로 해결하고자 하는 문제 영역 소프트웨어를 사용하는 사용자의 활동이나 관심사와 관련되어 있다. 모델 목적을 위해 현실 세계에 존재하는 것을 가공하고 편집하여 우리에게 정보를 제공한다. 특정 다이어그램이 아니라 다이어그램으로 전달하려는 아이디어와 목적을 가진 의사소통 수단이다. 이 의사소통 수단은 회의, 기획, 디자인, 개발등 여러 이해관계자가 사용한다. 도메인 모델은 특정 도메인을 개념적으로 표현한 것, 도메인 모델을 사용하려면 여러 관계자들이 동일한 모습으로 도메인을 이해하고 도메인 지식을 공유하는 데 도움이 된다....

2024-09-15 · 3 min · 429 words