일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- OCP
- 오브젝트
- 책임주도설계
- Apple # HIG #iOS15 #iOS14 #Human #Interface #Guidelines #Apple developer # Apple human interface guidelines
- 상속 조합 폭발적 증가
- 객체 생성 사용 분리
- 일관성 있는 협력
- 상속
- 런타임 의존성
- dip
- 행동 호환성
- 믹스인
- 메서드를 통한 해결
- 설계 재사용
- Swift#flatMap#map#Monad#함수형 프로그래밍#Optional
- 유연한 설계
- iSP
- 명령-쿼리 분리
- 서브 타이핑
- OOP
- 객체지향
- 알고리즘
- 다형성
- 합성
- 하향식 접근
- 의존성
- '기존 설계 재사용
- 추상화
- 컴파일 타임 의존성
- 유여난 설계
- Today
- Total
목록2024/11/19 (12)
도니의 iOS 프로그래밍 세상
데이터 중심의 문제는 객체에 상태에 초점을 맞추기 때문에, 변경등에 취약함따라서 책임에 초점을 맞추도록 해야하지만, 실제로 어떤 객체에 책임을 할당하지 정하는게 쉽지 않음→ 올바른 책임 할당을 위해 Grasp 패턴을 적용1. 책임 주도 설계를 향해데이터 중심에서 책임 주도 설계로의 전환을 위한 두가지 원칙데이터 보다 행동을 먼저 결정협력이라는 문맥 안에서 책임을 결정데이터 보단 행동을 먼저 결정객체에서 중요한 건 데이터가 아닌, 외부에 제공하는 행동(이것이 곧 “책임”)객체가 수행할 책임을 먼저 결정하고, 필요한 데이터가 무엇인지 결정협력이라는 문맥 안에서 책임을 결정책임의 품질은 협력에 적합한 정도로 결정메세지 전송 클라이언트 의도에 적합한 책임을 할당메세지 수신자에 대한 가정을 하지 않기 때문에, 수..
훌륭한 객체 지향 설계를 위해선 비용 내에서 변경을 수용할 수 있는 구조를 만드는 것유연한 구조를 위해 응집도가 높고 결합도가 낮으며, 객체의 상태가 아닌 행동 더 나아가 책임에 초점을 맞춤1. 설계 트레이드 오프객체 설계의 장단점을 비교하기 위한 3가지 척도인 캡슐화, 응집도, 결합도캡슐화객체를 사용하여 변경 가능성이 높은 부분을 숨기고, 외부에 상대적으로 안정적인 부분을 공개하여 변경의 여파를 통제상태는 변경 가능성이 높은 부분이며, 상대적으로 안정적인 부분은 객체의 책임, 메시지핵심은 변경 가능성이 높은 부분을 객체 내부로 숨기는 추상화 기법으로서, 내부 구현이 변하더라도 변화의 여파를 통제할 수 있음응집도와 결합도응집도(변경의 관점) 변경 발생시 모듈 내부에서 발생하는 변경의 정도하나의 변경 수용..