일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 알고리즘
- 상호배제
- 100 days of SwiftUI
- Linked List
- deadlock
- Algorithm
- core data
- 앨런
- forEach
- 비동기
- 운영체제
- 인프런
- 가상 메모리
- async
- Codable
- 프로세스 스케줄링
- @state
- scrollview
- Swift
- IOS
- SwiftUI
- 데드락
- 오브젝트
- UserDefaults
- 동기화
- struct
- 동시성
- Apple Developer Academy
- decode
- COLOR
- Today
- Total
목록조영호 (3)
기어가더라도 제대로
조영호 작가님의 전작인 작품에서 언급했던 역할, 책임, 협력에 대해서 이야기 해보는 장입니다. 왜 이게 중요할까요? 결국 객체지향의 본질을 이해하고 설계를 잘짜기 위함이죠. 객체지향의 본질은 협력하는 객체들의 공동체를 창조하는 것이다. 객체지향 설계의 핵심은 협력을 구성하기 위해 적절한 객체를 찾고 적절한 책임을 할당하는 과정에서 드러난다. - p.73 각각이 뭔지 살펴보죠! 협력: 객체들이 애플리케이션의 기능을 구현하기 위해 수행하는 상호작용 책임: 객체가 협력에 참여하기 위해 수행하는 로직 역할: 객체들이 협력 안에서 수행하는 책임들이 모여 객체가 수행하는 역할을 구성 1. 협력 영화 예매 시스템에서 "예매하라" 라는 메시지를 수행하기 위해 다양한 객체들이 참여했습니다. 여기서 볼 수 있듯이 두 객체..
2장에서는 영화 예매 시스템을 만들어보면서 사용자가 영화 예매 시스템을 이용해 쉽고 빠르게 보고 싶은 영화를 예매할 수 있도록 해보자. 객체에 대한 접근 영화 예매 도메인에서 객체들을 설정해야한다. 그 객체들은 아직 클래스일지 인터페이스일지 모르지만, 어떠한 역할을 하는 주체정도로 설정하고 가는 것이 좋다. 영화 예매 도메인을 구성하는 객체는 단순하게 일반화하자면 다음과 같다. 영화(Movie): 영화가 가지고 있는 기본적인 정보를 들고 있는 객체 상영(Screening): 실제로 관객들이 영화를 관람하는 사건을 표현 할인 정책(Discount Policy): 할인 요금을 결정 할인 조건(Discount Condition): 가격의 할인 여부를 결정 새로운 도메인을 설정할 때 일반적인 시각과 다른점이 재..
객체지향이 어려운 것은 이론을 만들기다. 여러 사람이 납득할 만한 이론을 만드는 것이 어렵다. ex) 왜 그 객체가 저런 일을해? ex) 왜 그 속성을 가져가? 이런 질문들에 동의할 만한 답을 내는 것이 객체지향 속성은 뒤로 미루고 행동만 고려하자. 영화관 예제 예매 생성에 필요한 정보의 전문가에게 할당 Screening 에 상영에 필요한 정보를 할당 상영정보를 알고 있다 -> Movie 예매 정보를 생성한다. -> Customer Movie 영화 정보를 알고 있다. -> Discount Policy 가격을 계산한다. Discount Policy 할인 정책을 알고 있다. -> Discount 할인된 가격을 계산한다. -> Condition Discount Con..