본문 바로가기

2023/116

CQRS 패턴을 적용한 MediatR과 FluentValidation CQRS 패턴이란? CQRS Pattern CQRS 패턴이란? CQRS Pattern /pages/list /pages/list CQRS Pattern 이 포스트는 출처가 있는 글입니다. 공부를 위해 정리했습니다 애플리케이션에서 읽기와 쓰기를 분리하는걸 CQRS 패턴이라고 한다. CQRS 패턴은 물리적, 논리적으로 나 solyi.kr CQRS 패턴의 개념에 대해선 위 포스트를 참고해주세요 😄 CQRS 패턴을 적용한 MediatR과 FluentValidation 기본 예제 코드 MediatR은 IRequest 인터페이스를 사용하여 명령과 쿼리를 모두 나타낸다. 사용 사례에서는 명령과 쿼리에 대해 별도의 추상화를 생성한다. 먼저 ICommand 인터페이스의 정의는 다음과 같다. using MediatR; n.. 2023. 11. 28.
REPR 디자인 패턴 개념 / REPR - MVC 비교 / REPR-REST 비교 REPR Design Pattern 이란 ? REPR 디자인 패턴은 웹 API 엔드포인트를 요청, 엔드포인트, 응답 세 가지로 구성 요소로 정의한다. 자주 사용되는 MVC 패턴을 단순화하여 API 개발에 더 중점을 둔다. MVC 패턴보다 더 좋을까? 기존 MVC 패턴(Model, View, Controller)은 오랫동안 성공적으로 사용되어 왔지만 API가 아닌 ASP.NET 앱의 경우를 보면 완벽하다고는 할 수 없다. ViewModel과 같이 혼합된 항목들이 존재하기 때문이다. API용 ViewModel을 갖는 것이 API에서 타당할까? 그렇지 않다. 일종의 DTO(Data Transfer Object)라고 할 수 있다. 널리 쓰이는 DTO와 구분하기 위해 이를 ApiModel이라 부르는 사람들도 있다.. 2023. 11. 27.
Entity Framework Core 개념 / 장단점 / 코드 예제 / 사용 방법 / 데이터 가져오기, 수정, 삭제 / 샘플 코드 EF Core? EF Core는 Entity Framework의 경량화된 버전으로, .NET Core 및 .NET 5 이상에서 사용할 수 있다. 데이터베이스와의 상호 작용을 단순화하고 개발자가 데이터베이스에 대한 쿼리 및 조작을 수행할 수 있는 ORM(Object-Relational Mapping) 도구이다. 주요 기능 데이터베이스에 대한 CRUD(Create, Read, Update, Delete) 작업을 지원한다. LINQ(Language Integrated Query)를 사용하여 데이터베이스 쿼리를 작성할 수 있다. 데이터베이스 스키마를 코드로 정의할 수 있는 Code First 접근 방식을 제공한다. 다양한 데이터베이스 시스템과 호환된다. EF Core의 장점 개발자가 데이터베이스와의 상호 작용을.. 2023. 11. 26.
Pinia 기본 사용 방법 (vuex의 새로운 이름) 목차 Vue 기본 구조 Pinia 기본 구조 State (Vue) State (Pinia) Getters (Vue) Getters (Pinia) Actions (Vue) Actions (Pinia) Vue 기본 구조 기본 구조 설명 - Composition API 방식( 다른 방식으로는 Option API 방식이있음 export default{} ) Current Count: {{ counter.count }} Pinia 기본 구조 기본 구조 설명 Option Store방식 기존 방식처럼 state, getters, actions를 직관적으로 표현한다. stores/todos-store.js import { defineStore } from 'pinia' export const useTodosStore .. 2023. 11. 20.
도메인 엔터티 패턴 도메인 엔터티 패턴 - 마이크로 서비스 도메인 모델 디자인 도메인 엔터티 패턴 엔터티는 도메인 개체를 대표하며, 주로 ID, 연속성, 시간의 흐름에 따른 지속성 및 이들을 포괄하는 특성에 의해 정의된다. 기본적으로 해당 ID로 정의되는 개체를 엔터티라고 한다. ‘엔터티 ID는 다중 마이크로 서비스나 바인딩된 컨텍스트를 교차할 수 있습니다.’ 동일한 ID(즉, 동일한 도메인 엔터티는 아닐 수 있지만 동일한 Id 값)는 여러 바인딩된 컨텍스트 또는 마이크로 서비스 전체에 걸쳐 모델링될 수 있다. 그러나 동일한 특성 및 논리를 가진 동일한 엔터티가 다중 바인딩된 컨텍스트에서 구현된다는 의미는 아니다. 대신, 각 바운딩된 컨텍스트의 엔터티는 그 속성과 행동을 해당 바운딩된 컨텍스트의 도메인에서 요구하는 속성과 .. 2023. 11. 18.
CQRS 패턴이란? CQRS Pattern CQRS Pattern 이 포스트는 출처(Milanjovanovic/CodeMaze)가 있는 글입니다. 공부를 위해 정리했습니다 CQRS 패턴( Command Query Responsibility Segregation )이란 명령 쿼리 책임 분리라고도 하며 최근 인기있는 디자인 패턴으로, 애플리케이션에서 읽기와 쓰기의 흐름을 논리적으로 분리하는걸 의미한다. 명령(Command)는 애플리케이션의 상태를 변경하는 데 사용된다 CRUD의 Create, Update, Delete를 다룬다. 쿼리(Query)는애플리케이션에서 정보를 검색하는 데 사용된다. CRUD의 Read를 다룬다. CQRS 패턴은 다음과 같은 장점을 가진다. 복잡도 관리(단일 책임) : 명령인지 쿼리인지에 대해서 단일 작업만 존재한다. 향상된.. 2023. 11. 9.
반응형