Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- MVVM
- 리펙터링
- swift documentation
- 스위프트
- uitableview
- RxCocoa
- Observable
- Xcode
- HIG
- UITextView
- ribs
- map
- 클린 코드
- 리팩토링
- Human interface guide
- SWIFT
- clean architecture
- Clean Code
- 애니메이션
- uiscrollview
- 리펙토링
- Refactoring
- tableView
- ios
- combine
- swiftUI
- rxswift
- Protocol
- collectionview
- UICollectionView
Archives
- Today
- Total
김종권의 iOS 앱 개발 알아가기
[Clean Architecture] 0. 코드로 알아보는 SOLID - 클래스 다이어그램 필수 표현 본문
Clean Architecture/Clean Architecture 코드
[Clean Architecture] 0. 코드로 알아보는 SOLID - 클래스 다이어그램 필수 표현
jake-kim 2021. 9. 17. 01:220. 코드로 알아보는 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 - Coordinator 패턴 화면전환
7. 코드로 알아보는 SOLID - Network, REST (URLSession, URLRequest, URLSessionDataTask)
8. 코드로 알아보는 SOLID - 캐싱 Disk Cache (UserDefeaults, CoreData)
사용관계 vs 상속(구현)관계
- 화살표와 닫힌 화살표로 구분
- 사용관계(의존관계)의 개념: A클래스에서 B의 흔적이 하나라도 있으면 사용관계
- A에서 B의 객체를 property로 가지고 있는 것
- A에서 B의 객체를 생성하는 부분이 존재하는 것
- A에서 메소드나 초기화에서 b를 매개변수로 받는 것
- A에서 B의 property에 접근하는 것
- A에서 B의 method에 접근하는 것
protocol C {}
class A: C {
// 사용1. B의 객체를 property로 가지고 있는 것
let b: B
// 사용2. B객체 생성
func makeB() -> B {
return B()
}
// 사용3. A클래스인데 매개변수로 b를 받는 것
init(b: B) {
self.b = b
}
func printB() {
// 사용4. B의 property에 접근
print(b.className)
}
func printBMethod() {
// 사용5. B의 메소드에 접근
print(b.printClassName())
}
}
class B {
var className = "i'm B"
func printClassName() {
print(className)
}
}
DS, I 기호
- DS: Data Structure
- I: Interface (스위프트에서의 protocol)
'Clean Architecture > Clean Architecture 코드' 카테고리의 다른 글
Comments