Software Development/SW Architecture 9

SOLID Principle & Component Design Principles

1. SOLID PrincipleSRP(Single Responsibility Principle, 단일 책임원칙)한 클래스는 하나의 책임만 가져야 한다.목적 : 시스템의 복잡성을 낮추고, 한 클래스가 하나의 기능만을 가져 수정을 용이하게 하여 유지보수를 용이하게 한다. 한 클래스가 여러 기능을 맡으면 하나의 기능에 문제가 생겼을 때 다른 기능에도 영향을 줄 수 있다.OCP(Open/Closed Principle, 개방-폐쇄 원칙)확장에는 열려있고 변경에는 닫혀있어야 한다.목적 : 기존의 코드를 수정없이 시스템의 기능을 확장할 수 있게 한다. 이는 기존 코드의 오류 가능성을 줄이면서 새로운 기능을 쉽게 추가할 수 있다.LSP(Liskov Substitution Principle, 리스코프 치환 원칙)서브 ..

Factory Method Pattern

Factory Method Pattern 1. https://bcp0109.tistory.com/3672. https://refactoring.guru/ko/design-patterns/factory-method3. https://inpa.tistory.com/entry/GOF-%F0%9F%92%A0-%ED%8C%A9%ED%86%A0%EB%A6%AC-%EB%A9%94%EC%84%9C%EB%93%9CFactory-Method-%ED%8C%A8%ED%84%B4-%EC%A0%9C%EB%8C%80%EB%A1%9C-%EB%B0%B0%EC%9B%8C%EB%B3%B4%EC%9E%90 💠 팩토리 메서드(Factory Method) 패턴 - 완벽 마스터하기Factory Method Pattern 팩토리 메소드 패턴은 ..

CQRS Pattern에 대한 자세한 설명

https://joylucky7.tistory.com/54 [MicroService] MSA의 이해(애플리케이션 패턴, CQRS 패턴, API 조합과 CQRS, 이벤트 소싱 패턴 ) 5장앞어서 4장에 애플리케이션 패턴을 보지 못하였다면 4장을 읽고 오도록 하자 https://joylucky7.tistory.com/53 [MicroService] MSA의 이해(Micro Service 운영과 관리를 위한 플랫폼 패턴, 애플리케이션 패턴) 4장joylucky7.tistory.com https://engineering-skcc.github.io/microservice%20outer%20achitecture/inner-architecture-cqrs/ 마이크로서비스 관계 패턴 - 읽기와 쓰기 분리: CQRS패턴..

Event Driven Architecture (EDA)

https://12bme.tistory.com/540 [아키텍처] 이벤트 주도 아키텍처(Event-Driven Architecture)이벤트 주도 개발 패턴은 확장성이 뛰어난 애플리케이션을 생성하는데 사용되는 널리 사용되는 분산 비동기 아키텍처 패턴이다. 또한 적용이 용이하여, 작은 응용 프로그램뿐만 아니라 크고 복12bme.tistory.com https://yejaelove.tistory.com/3 EDA(Event Driven Architecture)의 개념과 구성 요소(Topology)EDA(Event Driven Architecture)는 애플리케이션이 이벤트에 실시간으로 응답 및 처리할 수 있도록 하는 소프트웨어 개발에 사용되는 설계 패턴입니다. EDA의 핵심 아이디어는 애플리케이션이 단순히 ..

SAGA Pattern

https://devk0ng.github.io/2021/07/27/saga_pattern/#SAGA-Pattern Saga Pattern이란?(Orchestration and Choreography) | devk0ng's blog2-Phase Commit 우선 먼저 MSA구조 이전에는 분산 데이터베이스에 대해 어떻게 트랜잭션을 만족시켰는지 보자!! 이때는 2-Phase Commit이라는 방법을 사용했어!! 참고로 사용하는 데이터베이스가 분산 트devk0ng.github.io  https://devyonghee.github.io/theory/2022/09/24/orchestration-vs-choreography/ [마이크로서비스] Saga Pattern 자세히 알아보기 (feat. orchestratio..

마이크로서비스 & 이벤트 주도 아키텍쳐

https://velog.io/@suhongkim98/MSA%EC%99%80-DDD-%EB%A7%88%EC%9D%B4%ED%81%AC%EB%A1%9C%EC%84%9C%EB%B9%84%EC%8A%A4-%EA%B0%84-%ED%86%B5%EC%8B%A0-%EB%B0%A9%EB%B2%95-4-%EC%9E%91%EC%84%B1-%EC%A4%91 마이크로서비스 간 통신 과정에서 주의해야할 점SW마에스트로에서 본 프로젝트를 MSA로 설계, 개발하면서 마이크로서비스 간 통신을 어떻게 가져가야할지 고민을 하였다.프로젝트를 MSA로 설계, 개발하면 마이크로서비스 간 통신은 필연적으로velog.io  https://velog.io/@suhongkim98/MSA%EC%99%80-DDD-%EC%9D%B4%EB%B2%A4%ED..