일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- MVVM
- SWIFT
- Clean Code
- tableView
- Refactoring
- 클린 코드
- clean architecture
- ribs
- combine
- rxswift
- Human interface guide
- uiscrollview
- Observable
- UICollectionView
- 리펙토링
- 스위프트
- ios
- collectionview
- RxCocoa
- uitableview
- swiftUI
- HIG
- map
- 리팩토링
- 리펙터링
- Xcode
- UITextView
- 애니메이션
- Protocol
- swift documentation
- Today
- Total
목록추상화하기 (3)
김종권의 iOS 앱 개발 알아가기
* 추상화하기 목차: https://ios-development.tistory.com/1627 프로토콜과 제네릭스 사용하는 목적 파악하기 프로토콜 사용 목적? protocol을 타입(existential type)으로하고 구현체를 assign하는 패턴으로하면 구현체의 변경할 때 유연성이 증가 구현체에는 여러 구현 코드가 섞여서 정말 사용하는쪽에서만 필요한 인터페이스만 보려면 가독성이 떨어지지만 protocol을 타입으로한다면 사용하는 쪽에서 필요한 스펙 파악이 용이 제네릭스 사용 목적 코드의 재사용성 중복 제거 포로토콜에 제네릭스 사용의 이해 프로토콜에는 associated type 키워드를 사용하여 제네릭스 사용이 가능 ex) cell타입을 추상화하기 위해서 protocol을 사용했고 이 proto..
* 추상화하기 목차: https://ios-development.tistory.com/1627 추상화란? 복잡성을 숨기고 필요한 부분만을 노출시키는 것 특정한 타입에 의존하지 않고 일반화하여 작성 > 코드의 유연성과 재사용성 상승 추상화의 목적 추상화한다는 것은 일종의 DIP(Dependency Inversion Principle)의 목적과도 유사 DIP는 구현체에 의존하지 않고 인터페이스(protocol)에 의존하게끔하여, 구현체의 변경이 유연하게 가져갈 수 있다는 개념 DIP 구체적인 개념은 이전 포스팅 글 참고 코드의 유연성, 재사용성 상승 추상화의 종류 generics 사용 커스텀 뷰를 만들 때 Generics를 사용하여 값을 표현 class GenericInputView: UIView { var..