[ADR] 내 프로젝트에서 겪은 OCP 원칙에 대한 생각 정리
·
🖥️ Computer Science/🏛️ Software Architecture Patterns
ADRArchitecture decision record내 프로젝트에서 겪은 OCP 원칙에 대한 깊은 생각 정리학습 목표객체지향 SOLID 원칙 중 OCP에 대한 고민을 해본 경험을 적는다.현 프로젝트에 아키텍처를 OCP 원칙을 고려하여 생각해본다.학습 내용문제 상황먼저 위와 같은 모델이 있다.Shapable이라는 프로토콜을 도형 종류들이 채택하게끔 추상화 했다.그리고 Factory 패턴을 적용하여 Shapable 프로토콜을 채택한 도형을 만들어서 반환해주려고 한다.나는 여기서 Factory를 어떻게 만들어야 할 지 고민했다.하나의 ShapeFactory vs Shapable마다 Factory팩토리 패턴을 구현하기 위해 위 두가지 방법이 있을 것 같다.내가 생각한 두 가지 방법을 먼저 적어보겠다.하나의 ..
[아키텍처 패턴] MVVM + Clean Architecture 공부 정리
·
🖥️ Computer Science/🏛️ Software Architecture Patterns
학습 목표MVC, MVP, MVVM 각각의 특성Clean Architecture (VIPER Architecture)MVVM + Clean Architecture학습 내용MVC, MVP, MVVMMVC 패턴UIKit 기본 구조 역할에 따라 구분됨Model - 데이터 관리 View - 화면(UI) 관리 Controller - 컨트롤 관리VC가 Input 받고, Input 처리하고, 처리에 따른 View도 변경.. → 하는 일이 너무 많음MVP 패턴화면과 로직을 분리함MVC에서 View에 VC가, C에 Presenter가 들어감MVP 패턴도 MVC와 같이 Model-데이터, View-화면관리, Input 관리View는 Input이 들어오면 Presenter에 알려야 함 → P는 로직처리 후 어떤 화면을 그릴..