일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- Linked List
- 가상 메모리
- @state
- 앨런
- 100 days of SwiftUI
- struct
- 동기화
- 상호배제
- Codable
- UserDefaults
- scrollview
- async
- forEach
- 인프런
- 데드락
- deadlock
- decode
- 동시성
- Swift
- IOS
- COLOR
- 비동기
- SwiftUI
- 오브젝트
- Apple Developer Academy
- 운영체제
- 프로세스 스케줄링
- Algorithm
- core data
- 알고리즘
- Today
- Total
목록객체지향 (2)
기어가더라도 제대로
프로그래밍 패러다임의 유용성 개발자 공동체가 동일한 프로그래밍 스타일과 모델을 공유 불필요한 충돌 방지 동일한 규칙과 방법을 공유하는 개발자로 성장 소프트웨어 모듈의 세가지 목적 - by,. 로버트 마틴(Robert C. Martin) 실행 중에 제대로 동작 변경을 위해 존재 코드를 읽는 사람과 의사소통 모듈이란 크기와 상관 없이 클래스나 패키지, 라이브러리와 같이 프로그램을 구성하는 임의의 요소 - p.14 이해가 가능한 코드 우리의 예상에서 크게 벗어나지 않는 코드 기억할 내용이 적은 코드 변경이 용이한 코드 의존성이 적은 코드 협력을 위한 최소한의 의존성만 유지하고 불필요한 부분은 제거 두 객체 사이의 결합도가 높으면 높을수록 함께 변경될 확률도 높아지기 때문에 변경하기 어려워진다. 변경이 용이하게..
객체지향이 어려운 것은 이론을 만들기다. 여러 사람이 납득할 만한 이론을 만드는 것이 어렵다. ex) 왜 그 객체가 저런 일을해? ex) 왜 그 속성을 가져가? 이런 질문들에 동의할 만한 답을 내는 것이 객체지향 속성은 뒤로 미루고 행동만 고려하자. 영화관 예제 예매 생성에 필요한 정보의 전문가에게 할당 Screening 에 상영에 필요한 정보를 할당 상영정보를 알고 있다 -> Movie 예매 정보를 생성한다. -> Customer Movie 영화 정보를 알고 있다. -> Discount Policy 가격을 계산한다. Discount Policy 할인 정책을 알고 있다. -> Discount 할인된 가격을 계산한다. -> Condition Discount Con..