- Combine+UIKit
- iPad
- CollectionView
- 스위프트
- 애플
- Human Interface Guidelines
- UILabel
- iTerm
- 야곰아카데미
- HIG
- Accessibility
- github
- WWDC
- lineBreakMode
- TOSS
- UIKit
- IOS
- lineBreakStrategy
- 전달인자 레이블
- 앱개발
- Split View
- 디자인패턴
- LanguageGuide
- GOF
- Swift
- Keychain
- 애플사이다
- orthogonalScrollingBehavior
- DiffableDataSource
- Apple
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- Today
- Total
목록디자인패턴 (4)
애플사이다의 iOS 개발 일지
GoF 디자인 패턴 중 하나인 Prototype 패턴을 정리했다. - Ref : 도서 , Alexander Shvets 저 문제 상황 객체 A가 있고, 해당 객체의 복사본을 만들고 싶은 상황이다. 이때 새로운 객체 인스턴스를 생성하고, 원본 (객체 A)의 프로퍼티 값들을 새 객체에 모두 복사하는 방법이 있다. 문제점 : 객체의 프로퍼티 중 일부가 비공개라면 외부에서 접근할 수 없다. 또한 복사하려면 원본을 알아야 하므로 해당 객체에 대한 의존성이 생긴다. 패턴 설명 요약 : 의존성 없이 객체를 복사하는 생성 패턴이다. Prototype = 시제품, 시험용으로 만들어 본 샘플 제품 실제 산업의 프로토타입 : 대량 생산 이전에 테스트용으로 만드는 샘플 제품 프로그래밍의 프로토타입 : 세포 분열과 비슷함. ‘..
GoF 디자인 패턴 중 하나인 Command 패턴을 정리했다. - Ref : 도서 , Alexander Shvets 저 문제 상황 Text Editor 프로그램을 개발하는 중이며, 텍스트를 저장할 Save Button을 만들었다. Button을 상속받아 자식클래스로 Save Button을 구현한 뒤, save 기능을 추가했다. 그런데 Save Button 뿐만 아니라 Ctrl+C 단축키로도 복사를 하고 싶고, 텍스트와 서식을 동시에 복사할 Super Save Button을 추가하고 싶어졌다. 기존 방식으로 하면 버튼/단축키에 중복 코드가 생기고, 자식클래스 종류가 너무 많아질 수 있다는 문제점이 있다. 패턴 설명 Command의 사전적 정의는 “명령, 명령어”이다. Command 패턴에서는 실행할 작업을..
문제 상황 여러 개의 프로퍼티, 중첩 타입 등을 지정해야 하므로 초기화 과정이 복잡한 객체가 존재한다. 이때 모든 가능한 매개변수를 포함하는 거대한 생성자를 만들게 되는데, 가독성이 떨어지고, 사용하지 않는 매개변수가 존재하므로 비효율적이라는 문제가 있다. 패턴 설명 복잡한 객체를 단계별로 생성하는 패턴이다. 객체를 생성하는 과정에서 해당 객체에 접근 불가하도록 막는다. Builder를 통해 객체를 초기화하고, 외부에서 프로퍼티값을 메서드 주입받아 객체를 완성한다. Director를 선택적으로 활용할 수 있다. Build 관련 메서드들의 실행 순서를 정의하는 역할을 담당한다. 객체를 종류별로 구분하여 생성 과정을 분기처리하고자 할 때 활용하면 좋다. 장점 복잡한 객체를 단계적으로 생성하거나, 생성 단계를..
GoF 디자인 패턴 중 하나인 Abstract Factory 패턴을 정리했다. 이 패턴은 예시코드부터 보는 것을 추천한다. - Ref : 도서 , Alexander Shvets 저 문제 상황 가구 판매 앱 개발과정에서 세트 제품군 (a family of reloated products)이 있다. (ex. 의자, 소파, 커피테이블) 또한 해당 세트 제품군에는 여러 스타일의 변형 (variants)이 있다. (ex. 아르데코, 빅토리안, 현대식) 고객이 가구를 주문하면, 동일한 스타일로 가구세트를 통일해야 하는 상황이다. 또한 새로운 제품 (새로운 스타일)이 자주 추가되므로 매번 기존 코드를 수정하는 번거로움을 피하고 싶다. 패턴 설명 이 패턴은 말로 설명하면 복잡한데, 예시를 보면 매우 쉽다. 😞 요약 :..