# clean architecture

스위프트 스터디 (MVC to MVVM 개념정리 Swift UIkit Fundamental )
MVVM(Model, View, Viewmodel)기존의 uikit는 mvc를 따르고 있다.MVC(Model View Controller)Clean Architecture의 핵심은 바깥쪽 레이어가 안쪽 레이어에 대한 정보는 알아도 되지만, 안쪽 레이어는 바깥쪽 레이어에

[Architecture] CleanArchitecture
CleanArchitecture 개요 Architecture란 소프트웨어에서 확장, 수정이 유연하도록 계층을 나눠 설계하는 것이다. 지금까지 수많은 아키텍쳐가 나왔으며 그 공통점을 살리고 보완하여 나온 것이 Clean Architecture이다. 구성도 Clean
Clean Architecture 기반 으로 ViewModel 을 사용한 구성
Entities : 데이터 구조를 적립하고 통신 방법에 맞게 구성.Usecases : 데이터를 요청하고 받는 작업을 수행 형식에 구애받지 않도록 BaseUsecase 를 두고 상속 받아 사용하게 끔 사용.Repository : 데이터 컨트롤에서 사용할 호출부 선언Use

[Clean Architecture] SOLID - Coordinator 패턴
화면전환하는 기능을 분리Coordinator를 사용하지 않은 경우 A -> B -> C 화면전환 시, A -> C로 화면전환 하려면, A에서 코드가 새로생성되어야 하지만 Coordinator를 사용하면 기존에 C로 이동하는 코드를 사용하면 된다.ViewModel에서 의

[Clean Architecture] SOLID - DIP(Dependency Inversion Principle)
의존성 역전 원칙핵심 부분을 담당하는 모듈의 제어흐름과 다른 모듈들의 의존 방향이 반대변동성이 큰 구현체에 의존하지 않고 추상 클래스에만 의존해야 한다는 원칙핵심체인 Application에서 구현체에 의존하는 상태이다.FactorySeviceApplication변경되기

Clean Architecture가 무엇인가요?
🌟 Clean Architecture란? 클린 아키텍쳐는 Rober C. Martin(aka. Uncle Bob)이 엔터프라이즈 아키텍쳐에서 논의되던 내용을 집약시킨 개념을 블로그에 기재한 내용이다. 클린 아키텍쳐는 두 가지의 관점에서 볼 수 있다. 하나는 아키텍

[Clean Architecture] SOLID - ISP(Interface Segregation Principle)
여러 클래스가 하나의 모듈을 사용중이면, Interface를 만들어 분리하여 사용OP2에 필요한 parameter가 추가되어서 OPS 생성자에 새로운 parameter를 주입해주어야 하는 경우, user1, user3 에도 영향변경되는 것은 각 Interface만 변경

[Clean Architecture] SOLID - LSP(Liskov Substitution Principle)
A가 사용하고 있는 B하위 타입이 무엇으로 바뀌든지 A에 영향을 주지 않는 상태상속을 사용할 땐 다른 구현체로 갈아끼워도 A에 아무 영향을 주지 않는 것결제한 금액에대한 적립 예정 포인트 알려준다.비지니스 로직card별로 다르게 적립금 계산HD 카드: 0.5%WR 카드
아키텍쳐 - Clean Architecture
Robert C. Martin(Uncle Bob) 이 2012년에 고안한 아키텍쳐http://cleancoder.com/productsClean Architecture 의 일문 사이트 중역 사이트 :https://blog.coderifleman.com

[Clean Architecture] SOLID - SRP(Single Responsibility Principle)
하나의 모듈은 오직 하나의 Actor에 대해서만 책임져야 한다.Actor: 한 명 이상의 사람들모듈: 함수와 데이터 구조로 구성된 응집된(cohesive)집합단 하나의 일만 해야 한다는 원칙은 함수의 개념큰 함수들을 작은 함수들로 리펙토링 할 때 사용되는 더 저수준에서

[Clean Architecture] SOLID - 클래스 다이어그램 표현법
열린 화살표로 표현(A와 B)A클래스가 B클래스의 property나 method를 사용A에서 B의 객체를 property로 갖음A에서 B의 객체를 생성A에서 B의 메소드나 초기화에서 b를 매개변수로 사용A에서 B의 property에 접근A에서 B의 method에 접근B