일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- 리팩토링
- uiscrollview
- 애니메이션
- swift documentation
- 클린 코드
- rxswift
- clean architecture
- 리펙토링
- Protocol
- RxCocoa
- map
- ios
- Clean Code
- SWIFT
- Observable
- 스위프트
- 리펙터링
- Refactoring
- combine
- Xcode
- uitableview
- UICollectionView
- HIG
- UITextView
- swiftUI
- MVVM
- collectionview
- Human interface guide
- ribs
- tableView
- Today
- Total
목록클린 아키텍처 (7)
김종권의 iOS 앱 개발 알아가기
* 알아야하는 기본 지식 - 테스트 코드를 작성해야 하는 이유 - 클린 코드 (창발성) - DIP(Dependency Inversion Principle) 설계 전에 필요한 프레임워크 설치 RxSwift RxCocoa ViewModel을 testable되도록 만드는 이유 viewModel에는 UI 인풋에 따라 UseCase를 통해 비즈니스 로직을 실행 viewModel은 어떤값을 UI에 넘겨주어야하는지 정보를 담고 있는 컴포넌트 UI의 인풋부터 시작하여, 비즈니스 로직과 아웃풋까지 동시에 모두 테스트할 수 있는 컴포넌트는 ViewModel ViewModel을 testable하게 구현하는 아이디어 ex) LoginVM (로그인 ViewModel)을 만드는 예시 LoginVM 프로토콜을 만들어서 테스트할 때..
0. 코드로 알아보는 SOLID - 클래스 다이어그램 필수 표현 1. 코드로 알아보는 SOLID - SRP(Single Responsibility Principle) 단일 책임 원칙 2. 코드로 알아보는 SOLID - OCP(Open Close Principle) 개방 폐쇄 원칙 3. 코드로 알아보는 SOLID - LSP(Liskov Substitution Principle) 리스코프 치환 원칙 4. 코드로 알아보는 SOLID - ISP(Interface Segregation Principle) 인터페이스 분리 원칙 5. 코드로 알아보는 SOLID - DIP(Dependency Inversion Principle, testable) 의존성 역전 원칙 6. 코드로 알아보는 SOLID - Coordinato..
0. 코드로 알아보는 SOLID - 클래스 다이어그램 필수 표현 1. 코드로 알아보는 SOLID - SRP(Single Responsibility Principle) 단일 책임 원칙 2. 코드로 알아보는 SOLID - OCP(Open Close Principle) 개방 폐쇄 원칙 3. 코드로 알아보는 SOLID - LSP(Liskov Substitution Principle) 리스코프 치환 원칙 4. 코드로 알아보는 SOLID - ISP(Interface Segregation Principle) 인터페이스 분리 원칙 5. 코드로 알아보는 SOLID - DIP(Dependency Inversion Principle, testable) 의존성 역전 원칙 6. 코드로 알아보는 SOLID - Coordinato..
0. 코드로 알아보는 SOLID - 클래스 다이어그램 필수 표현 1. 코드로 알아보는 SOLID - SRP(Single Responsibility Principle) 단일 책임 원칙 2. 코드로 알아보는 SOLID - OCP(Open Close Principle) 개방 폐쇄 원칙 3. 코드로 알아보는 SOLID - LSP(Liskov Substitution Principle) 리스코프 치환 원칙 4. 코드로 알아보는 SOLID - ISP(Interface Segregation Principle) 인터페이스 분리 원칙 5. 코드로 알아보는 SOLID - DIP(Dependency Inversion Principle, testable) 의존성 역전 원칙 6. 코드로 알아보는 SOLID - Coordinato..
0. 코드로 알아보는 SOLID - 클래스 다이어그램 필수 표현 1. 코드로 알아보는 SOLID - SRP(Single Responsibility Principle) 단일 책임 원칙 2. 코드로 알아보는 SOLID - OCP(Open Close Principle) 개방 폐쇄 원칙 3. 코드로 알아보는 SOLID - LSP(Liskov Substitution Principle) 리스코프 치환 원칙 4. 코드로 알아보는 SOLID - ISP(Interface Segregation Principle) 인터페이스 분리 원칙 5. 코드로 알아보는 SOLID - DIP(Dependency Inversion Principle, testable) 의존성 역전 원칙 6. 코드로 알아보는 SOLID - Coordinato..
Component (컴포넌트) 컴포넌트의 개념: 시스템의 구성 요소로 배포할 수 있는 가장 작은 단위 iOS에서는 .ipa 파일 컴파일형 언어에서 컴포넌트는 '바이너리 파일'의 결합체 인터프리터형 언어에서 컴포넌트는 '소스 파일'의 결합체 cf) 인터프리터형 언어: 컴파일러를 거쳐서 기계어로 변환되지 않고 바로 실행되는 프로그래밍 언어 스위프트는 '컴파일형'언어 Component Cohesion (컴포넌트 응집도) REP(Reuse/Release Equivalence Principle): 재사용/릴리즈 등가 원칙 CCP(Common Closure Printciple): 공통 폐쇄 원칙 CRP(Common Reuse Principle): 공통 재사용 원칙 REP 재사용을 위하여 컴포넌트를 구성하는 모든 모..
LSP 부모 클래스의 객체 대신에 자식 클래스의 객체로 치환해도 프로그램의 행위에 변화를 주지 않아야 한다는 원칙 자식 클래스 or 구현체를 만들 때, 상위 타입의 객체로 치환해도 문제가 없는지 파악해야 한다는 의미 인터페이스를 구현한 구현체 역시도 LSP원칙을 준수 목적: 치환 가능성을 조금이라도 위배하면, 추후 상당량의 별도 메커니즘이 필요 정사각형 - 직사각형 문제 사각형의 하위 타입으로 정사각형으로 구성하면 LSP위배 User입장에서는 Interface인 Reactangle의 성격을 생각하고 사용하지만, Square에서의 성격이 다른경우가 존재하면 오류 발생 그 오류를 해결하기 위해서는 상당량의 별도 매커니즘이 User에 필요하게 되는 악순환 발생 예시) setH, setW 호출 후 넓이 계산하는..