Clean Architecture여러가지 아키텍처들이 있지만 이들의 공통적인 목표가 있음.프레임워크에 독립적일 것.Testability. 비즈니스 규칙은 UI, DB, 웹 서버 또는 기타 외부요소 없이 테스트 가능.UI와 독립적. 시스템의 나머지 부분을 변경하지 않고도, UI를 쉽게 변경할 수 있음.(예를 들어, 비즈니스 규칙을 변경하지 않도고 웹 UI를 콘솔 UI로 교체 가능)DB와 독립적. 비즈니스 규칙 DB에 바인딩되지 않음.외부 기관으로부터 독립적. 실제 비즈니스 규칙은 외부 세계에 대해 전혀 알지 못함. 아래의 다이어그램은 이러한 모든 아키텍처들을 하나의 실행가능한 아이디어로 통합하기 위한 시도. Dependency Rule동심원의 바깥에서 안쪽으로 들어갈수록 고수준.바깥쪽 원은 매커니즘, 내..
TCA가 앱 개발에서 해결하고자 하는 것상태(State) 관리: 간단한 값 타입들로 어플리케이션의 상태를 관리하는 방법, 상태를 공유를 통해 화면에서 일어나는 변화(Mutation)를 다른 화면에서 즉시 관측(Observe)하는 방법을 제공.합성(Composition): 기능을 여러 개의 독립된 모듈로 추출하는 방법, 이 모듈을 다시 합쳐서 거대한 기능을 작은 컴포넌트의 집합으로 구성하는 방법을 제공.사이드 이펙트(Side Effects): 어플리케이션 바깥세상과 접촉하는 작업을 테스트할 수 있고 이해하기 쉽게 작성하는 방법을 제공.테스팅(Testing): 아키텍처 내부의 기능을 테스트하는 방법뿐만 아니라 여러 파트로 구성된 기능의 통합 테스트를 작성하는 방법, 사이드 이펙트가 어플리케이션에 끼치는 영향..
GitHub - uber/RIBs: Uber's cross-platform mobile architecture framework. Uber's cross-platform mobile architecture framework. - GitHub - uber/RIBs: Uber's cross-platform mobile architecture framework. github.com RIBs는 Uber에서 만든 Cross Platform 아키텍쳐입니다. → 도입시 iOS와 Android가 동일한 아키텍쳐를 사용하여 플랫폼간 협업 및 비즈니스 로직 코드를 교차 검증할 수가 있다는 이점이 생깁니다. RIBs는 여러 Riblet(리블렛, 하나의 기능단위. 이하 RIB)으로 구성되며 Router, Interactor,..