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