본문 바로가기

Design Patterns3

[Design Patterns] Clean Architecture 클린 아키텍처에 관한 내용을 기록합니다. 클린 아키텍처 로버트 C. 마틴(Uncle Bob)에 의해 처음 제안한 아키텍처 대부분의 아키텍처는 공통적인 목표가 있는데, 계층을 분리하여 관심사를 분리하는 것임. 각 아키텍처에는 최소 하나의 business rule을 위한 계층과 인터페이스를 위한 계층이 있음. business rule: 비즈니스 요구 사항을 반영하여 데이터를 처리하는 것을 말함. 각 아키텍처는 아래와 같은 특징들이 있음. Independent of Frameworks: 아키텍처는 스포트웨어 라이브러리의 존재에 의존하지 않음. Testable: 비즈니스 로직은 UI 및 DB, 웹 서버 또는 기타 외부 요소 없이 테스트할 수 있음. Independent of UI: UI는 시스템을 변경하지 않고.. 2024. 3. 12.
[Design Patterns] ReactorKit ReactorKit에 관해 정리한 것을 기록합니다. ReactorKit 반응형 및 단방향 Swift 애플리케이션 아키텍처를 위한 프레임워크 옵저버블 스트림을 통하여 각 User Action & View States 레이어에 전달 View만 Action을 방출하며, Reactor만 States를 방출함 ReactorKit’s Design Goal Testablility → 뷰에서 비즈니스 로직을 분리하여 테스트하기 쉬워짐. Start Small → ReactorKit은 애플리케이션 전체가 이를 따를 필요 없이 부분적으로 적용할 수 있음. → ReactorKit을 사용하기 위해 전체 코드를 재작성할 필요 없음. Less Typing → ReactorKit은 단순한 일에 복잡한 코드를 회피하며, 다른 아키텍처.. 2023. 1. 10.
[Design Patterns] MVC, MVVM 디자인 패턴 디자인 패턴은 소프트웨어를 설계하면서 자주 발생하는 문제들을 피하기 위해서 재사용이 가능한 해결책이다. 과거의 소프트웨어 개발을 하면서 발견된 규칙을 이후에 재이용하기 좋게 정리한 것이며 프로그래머들 간의 의사소통의 효율성을 높여준다. MVC (Model-View-Controller) Model : 앱에서 사용되는 데이터를 읽고 쓰기 및 데이터 처리를 하고 변경 사항을 controller에 보낸다. (비즈니스 로직) View : 데이터를 화면에 보여주는 역할을 하고 사용자의 입력을 controller로 보낸다. Controller : model과 view 사이에서 다리 역할을 하면서 업데이트시킬 수 있다. 특징: Controller와 View는 1:N 관계이다. Apple MVC 애플의 MV.. 2021. 2. 9.