일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- 객체지향
- 런타임 의존성
- 상속
- 의존성
- 객체 생성 사용 분리
- OOP
- 오브젝트
- 믹스인
- 컴파일 타임 의존성
- Swift#flatMap#map#Monad#함수형 프로그래밍#Optional
- '기존 설계 재사용
- 다형성
- Apple # HIG #iOS15 #iOS14 #Human #Interface #Guidelines #Apple developer # Apple human interface guidelines
- 유연한 설계
- iSP
- 알고리즘
- 명령-쿼리 분리
- dip
- 추상화
- 메서드를 통한 해결
- 책임주도설계
- 행동 호환성
- OCP
- 상속 조합 폭발적 증가
- 유여난 설계
- 하향식 접근
- 설계 재사용
- 합성
- 서브 타이핑
- 일관성 있는 협력
Archives
- Today
- Total
목록Swift#flatMap#map#Monad#함수형 프로그래밍#Optional (1)
도니의 iOS 프로그래밍 세상
[Swift] flatMap, map의 차이 - Monad로의 여정(1)
함수형 프로그래밍에서 사용되는 말인 Monad에 대해서 설명하기 전, map 과 flatMap 의 차이점에 대해서 공부해보자 map과 flatMap은 차이점은 무엇일까? 가장 기본적인 차이점 map의 경우 데이터를 변환하는데 사용된다 let cast = ["Vivien", "Marlon", "Kim", "Karl"] let lowercaseNames = cast.map { $0.lowercased() } // 'lowercaseNames' == ["vivien", "marlon", "kim", "karl"] flatMap은 2차원 이상의 배열들을 1차원 배열로 변환한다 let numbers = [1, 2, 3, 4] let mapped = numbers.map { Array(repeatin..
Swift
2023. 12. 15. 23:12