도메인 주도 설계란 (DDD)
등장배경이전의 기술 중심의 설계에서는 핵심 비즈니스 로직과 부가적 로직을 분리하지 않고 개발을 했다. 작은 서비스의 경우, 크게 문제가 없었지만, 시간이 지남에 따라, 로직들이 엉키고 각 객체간 의존성이 복잡하게 엮여있어 각각의 경계가 사라지고, 여러가지 문제가 발생하게 되었다. 특히 실무에서 흔하게 발생하는 요구사항이 바뀌거나, 비 개발자와 소통 시 서로 간 오해가 발생하고 비용이 증가되어 버렸다. 도메인 전문가와 개발자가 서로 협력해 해당 도메인 모델을 정의해 구분하고, 이를 활용해 소프트웨어를 개발/설계 하는 방법론이 DDD이다. 도메인(Domain)도메인이란, 소프트웨어로 해결하고자 하는 핵심 비즈니스 영역으로써, 예를 들면 은행업무에서의 도메인 영역은 계좌 이체, 잔액 조회, 계좌 개설과 같이 ..
2025. 10. 26.
자바 코딩테스트 여러가지 팁
큐나 스택 구현체로 ArrayDeque를 선택하자, 접근, 삽입/삭제 O(1)로 더 빠르다.string.split() 사용하지말고 StringTokenizer 사용입출력시, Scanner, sout 사용 X, BufferedReader와 Writer를 사용하자.순회 전에 배열 전체 초기값을 -1로 정하고, 반대로 조건에 부합하는 경우에만 값을 변경. Arrays.fill(arr, -1);커스텀 정렬 시, Arrays.sort(arr, (a, b) -> { a[1] - b[1] }); (2번째 파라미터는 Comparator 람다식 구현)음수라면, a가 먼저 배치, 양수라면, b가 먼저 배치,우선순위 큐 (힙)로 정렬 할 수도 있다. PriorityQueue pq = new PriorityQueu..
2025. 9. 15.