본문 바로가기
728x90
반응형

Software design pattern4

C#] Observer Design Pattern(관찰자 디자인 패턴) Observer Design Pattern에 대해서 objects 사이의 알림 mechanism을 만들 수 있다. 여러 objects가 다른 object를 관찰하고, 관찰하는 object에 이벤트 발생 시 알림을 받는다. 한쪽에는 관찰되는 object인 Provider가 있고, 다른 한쪽에는 Provider를 관찰하는 하나 이상의 Observers가 있다. 이벤트 또는 상태변경과 같은 미리 지정된 조건 발생 시, Observer는 Provider에 대한 알림을 받을 수 있다. Observer Design Pattern이 필요한 경우 이 패턴은 application 내부에 분산된 알림 system이 구현되어 있을때 도움이 된다. 이커머스 시스템을 갖고 있다고 하자. 몇몇 고객들은 특정 판매자의 제품에 관심.. 2024. 1. 10.
C#] Pipes and Filter Architectural Pattern 순차적이고 독립적인 processing data 또는 tasks를 위한 modular 하고 유연한 system을 설계하기 위한 목적의 design pattern이다. 여러 단계를 거치며 각 단계별로 특정한 data 변환 또는 operation이 필요한 data streams을 다루는데 매우 유용하다. data processing pipelinex, text processing와 관련된 application에서 일반적으로 사용되는 패턴이다. 어떻게 이 디자인 패턴이 동작하고 기본적인 개념에 대해 살펴보자. Pipes and Filter Architectural Pattern의 이해 Pipes and Filters pattern은 component-based architectural design patter.. 2024. 1. 9.
C#] Strangler Fig Pattern 스트랭글러 패턴 설명과 데모 출처 : Strangler Fig Architectural Pattern in C# - Code Maze (code-maze.com) Application 개발의 공통 문제 앱 디자인 시, 현재 use cases에 집중하지만 향후 확장성을 예측해서 여분의 공간을 남기는 노력을 한다. 기존 코드와 기능에 커다란 영향 없이 새로운 use cases를 지원하기 위해 노력한다. 하지만, 이러한 영향을 항상 피할 수 있는 것은 아니다. 첫번째 문제를 고려해보자. 커다란 수정사항이 있는 API 앱이 있다. APP의 여러 버전을 지원해야 한다. 두번쨰 문재는 .NET6에서 운영중인 동일한 API가 있는데, .NET7 기능을 사용하고 싶을 수 있다. 종종 전체 앱을 업그레이드할만한 시간과 Risk 감수력이 없을 수 있.. 2023. 11. 2.
ASP.NET Core - MVC] Repository Pattern Repository Pattern이란? 데이터, 도메인, Data Access Layers(Entity Framework Core 또는 Dapper)사이의 중재 역할을 한다. 데이터를 저장 또는 가져오는데 필요한 로직을 갖는 클래스이다. Repository Pattern의 장점 중복 쿼리 감소 Repository에 data access code를 작성하고, 여러개의 Controllers/Libraries에서 호출해서 사용할 수 있다. Data Access Layer로부터 Application의 De-couples ASP.NET Core에는 다양한 ORM이 유효하다. 현재 가장 유명한 것은 Entity Framework Core이다. 하지만 시간이 지나면서 새로운 기술이 발전함에 따라 새로운 ORM을 사용.. 2023. 4. 25.
728x90
반응형