일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 행동 호환성
- OCP
- 상속
- 컴파일 타임 의존성
- 믹스인
- Swift#flatMap#map#Monad#함수형 프로그래밍#Optional
- Apple # HIG #iOS15 #iOS14 #Human #Interface #Guidelines #Apple developer # Apple human interface guidelines
- 의존성
- '기존 설계 재사용
- 서브 타이핑
- 유연한 설계
- iSP
- 런타임 의존성
- 객체지향
- dip
- OOP
- 일관성 있는 협력
- 오브젝트
- 메서드를 통한 해결
- 책임주도설계
- 유여난 설계
- 하향식 접근
- 상속 조합 폭발적 증가
- 명령-쿼리 분리
- 합성
- 객체 생성 사용 분리
- 다형성
- 설계 재사용
- 알고리즘
- 추상화
- Today
- Total
목록iSP (2)
도니의 iOS 프로그래밍 세상
상속의 두가지 용도타입 계층 구현코드 재사용1. 타입객체지향 패러다임 관점의 타입개념 관점에서 타입이란 공통의 특징을 공유하는 대상들의 분류프로그래밍 언어 관점에서 타입이란 동일한 오퍼레이션을 적용할 수 있는 인스턴스의 집합객체지향 관점에서 객체가 수신할 수 있는 메시지의 집합은 퍼블릭 인터페이스결국 같은 퍼블릭 인터페이스를 제공 한다면, 객체 지향 관점에서는 동일한 타입2. 서브클래싱과 서브타이핑언제 상속을 사용해야 하는가?is-a 관계를 만족할 때클라이언트 입장에서 부모 클래스 타입을 자식 클래스로 사용해도 무방할 때is-a 관계, 행동 호환성is-a 관계에서 만족시켜야 할 것은 직관이 아닌, 클라이언트 입장에서 대체 가능성클라이언트 입장에서 is-a 관계를 만족시킨다면 타입 계층으로 설정할 수 있음..
밑의 내용은 “오브젝트” 도서를 읽고 본인이 이해한 내용을 정리한 글입니다. 실제 내용과 다를 수 있습니다.목차상속의 두 가지 목적타입서브 클래싱과 서브 타이핑결론1. 상속의 두가지 목적메인 목적은 타입 계층 구현, 이는 객체들간에 관계에 기반하여 확장에 유연한 설계를 가능하게 함동일한 메세지를 다르게 동작 하는 것이 다형적 계층에 기반타입 계층 구현부모는 일반화, 자식은 특수화코드 재사용코드 재사용은, 부모와 자식간의 강한 Coupling을 만들기 때문에 주의부수적인 효과로 생각하는게 더 유익2. 타입1. 프로그래밍적 관점타입에 수행되는 유효한 오퍼레이션 집합Int에선 + 가 덧셈, String에서는 문자열 연결오퍼레이션에 대한 유효한 문맥 제공(약속된 문맥 제공이 원문)Integer 값 덧셈을 위해선..