일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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
- 상속 조합 폭발적 증가
- 객체지향
- 오브젝트
- 의존성
- 런타임 의존성
- 상속
- Swift#flatMap#map#Monad#함수형 프로그래밍#Optional
- 유연한 설계
- '기존 설계 재사용
- 서브 타이핑
- 객체 생성 사용 분리
- 다형성
- 합성
- 믹스인
- 책임주도설계
- 메서드를 통한 해결
- 알고리즘
- 설계 재사용
- 하향식 접근
- Apple # HIG #iOS15 #iOS14 #Human #Interface #Guidelines #Apple developer # Apple human interface guidelines
- 추상화
- 유여난 설계
- 컴파일 타임 의존성
- OOP
- dip
- 행동 호환성
- 명령-쿼리 분리
- 일관성 있는 협력
- OCP
- iSP
Archives
- Today
- Total
목록상속 조합 폭발적 증가 (1)
도니의 iOS 프로그래밍 세상
[오브젝트 2회독] 11장 - 합성과 유연한 설계
합성은 내부 객체의 구현이 아닌, 퍼블릭 인터페이스에 의존하기 때문에 안정적인 코드를 얻을 수 있음상속은 is-a 관계, 합성은 has-a 관계합성은 실행 시점에 동적으로 변경할 수 있기에 더욱 유연한 설계를 얻을 수 있음1. 상속으로 인한 조합의 폭발적 증가작은 기능을 조합해서 더 큰 기능을 수행하는 객체를 만들어야 할 때, 상속은 두가지 문제점을 발생하나의 기능을 추가하거나 수정하기 위해 불필요하게 많은 수의 클래스 추가 및 수정 필요모든 조합의 클래스를 만들어야 하기 때문ex.) A기능을 수행하는 객체와, B 기능을 수행하는 객체를 합성하여 C 객체를 만들때합성은 A + B의 클래스만 필요한 반면, 상속은 A*B의 객체가 필요하게 됨단일 상속만 지원하는 언어에서는 상속으로 인해 오히려 중복 코드 양..
OOP
2024. 11. 19. 19:31