본문 바로가기

분류 전체보기569

제어 불가능한 것을 제어하자 (1) - static method 를 mocking 하기 힘든 이유 해당 제어 불가능한 것을 제어하자 라는 글은 2편의 시리즈로 이루어져 있습니다. static method 를 mocking 하기 힘든 이유 2022. 7. 25.
객체는 특정 문맥에 결합되면 안된다. (feat. 로또 게임 구현하기) 목차 동기 객체는 특정 문맥에 결합되어서는 안된다 로또 게임 구현하기 Overview 컨텍스트 독립성 어떻게 해결할 수 있을까? 동기 조영호 님의 오브젝트 스터디를 진행하면서 책의 절반의 진도가 나갔을 즈음 중간 점검 느낌으로 실습 주제를 하나 정해서 코딩을 해보기로 했다. 우리는 실습의 주제로 next-step 에서 진행하는 실습 과제 하나인 로또 게임 구현하기 로 정했다. 실습에서 실제 우리가 책에서 배운 내용을 적용해보며 코드를 객체지향적으로 구성해보는 실습을 하였는데, 꽤나 재미있는 내용이 있어서 그 경험을 공유하려 한다. 객체는 특정 문맥에 결합되어서는 안된다 객체는 특정 문맥에 결합되어서는 안된다는 이야기가 있다. 특정 문맥에 결합되는 순간 객체는 딱딱해지고 결정되어진다. 클린 아키텍처에서 말.. 2022. 7. 21.
Spring Data 모듈의 save() 는 CQS 를 지키지 않는 것일까? 목차 배경 Spring Data 는 CQS 를 지키지 않는 것일까? CQS 란? 참조 투명성 배경 최근에 발행했던 글이 하나가 있다. CQRS 패턴에 대한 오해 풀기 라는 글에서 CQS 에 대해서 잠깐 언급한다. [Architecture Pattern] CQRS 패턴에 대한 오해 풀기 목차 도입 Query 와 Command 란? CQRS 란 CQRS 의 장단점 도입 회사 시스템이 전통적인 CRUD 애플리케이션에서 Event 기반의 시스템으로 바뀌어 가는 과정에 팀에 합류를 하게 되어 나의 최근 가장 큰 관심 wonit.tistory.com 해당 글의 포스팅을 준비하면서 CQS 에 대해 작성하다 한가지 큰 오해를 했었는데 오늘 오브젝트라는 책을 읽다보니 그 오해를 풀 수 있었다. 오늘은 그 오해에 대해서 .. 2022. 6. 17.
[Event-Driven-Architecture] CQRS 패턴에 대한 오해 풀기 목차 도입 Query 와 Command 란? CQRS 란 CQRS 의 장단점 도입 회사 시스템이 전통적인 CRUD 애플리케이션에서 Event 기반의 시스템으로 바뀌어 가는 과정에 팀에 합류를 하게 되어 나의 최근 가장 큰 관심사가 바로 이 CQRS 이다. 학부 시절에도 마이크로서비스를 공부하며 잠깐 잠깐 봤던 CQRS 는 이름 부터 생소하기에 겁을 먹었던 기억이 난다. 하지만 CQRS 의 원리 자체는 사실 되게 간단하다 Command 와 Query 를 분리하자! Command 와 Query 를 먼저 정의하고 이야기를 계속 해보자 Query 와 Command 란? Query 와 Command 에 대해서 이야기 하기 위해서는 CQS 에 대해서 먼저 알아볼 필요가 있다. CQS 는 Design By Contr.. 2022. 6. 11.