애플의 코어 그래픽스(Core Graphics)는 아이폰과 아이패드에서 2차원 그래픽을 그릴 수 있도록 제공하는 그래픽 라이브러리입니다. 애플의 코어 그래픽스(Core Graphics)는 애플이 제공하는 '쿼츠(Quartz)'라는 그래픽 라이브러리 안에 포함되어 있습니다. 쿼츠(Quartz) 그래픽 라이브러리는 하나의 라이브러리가 아니라 애플의 코어 그래픽(Core Grapic)과 코어 애니메이션(Core Animation)으로 구성되어 있다. class ViewController: UIViewController { @IBOutlet weak var imgView: UIImageView! override func viewDidLoad() { super.viewDidLoad() // Do any addit..
swift 디자인 패턴 - 템플릿 메서드 패턴 학습목표 공통 코드의 재사용 방법을 부분적으로 이해하기 여러회사의 모터 지원하기 현대모터를 이용해서 엘리베이터를 제어하는 시스템이라면 HyundaiMotor 클래스에 move 메서드를 정의할 수 있다. HyundaiMotor 클래스는 move 메서드를 실행할 때 안전을 위해 문(Door 클래스)이 닫혀 있는지 조사 할 필요가 있다. 따라서 HyundaiMotor 클래스에서 Door 클래스로의 연관 관계를 정의했다. 또한 엘리베이터가 이동 중이면 모터를 구동시킬 필요가 없다. MotorStatus, DoorStatus, Direction은 Enumeration 으로 각각 모터의 상태 (정지 중, 이동 중) , 문의상태 (닫힘상태, 열림상태) , 이동 방향(위,..
디자인 패턴 - solid 원칙 정리 2 4.의존 역전 원칙 의존 역전 원칙은 의존 관계를 맺을 때 변화하기 쉬운 것 또는 자주 변화하는 것보다는 변화하기 어려운것, 거의 변화가 없는 것에 의존하라 5.인터페이스 분리 원칙 인터페이스를 클라이언트에 특화되도록 분리 시켜라 ✅ 의존 역전 원칙 객체 사이에 서로 도움을 주고 받으면 의존 관계가 발생한다. 의존 역전 원칙은 그러한 의존 관계를 맺을 때의 가이드라인에 해당한다. 도움을 받을 때 여기저기 도움을 받을 것이 아니라 원칙을 가지고 도움을 청해야 한다는 것이다. Key point 의존 역전 원칙은 의존 관계를 맺을 때 변화하기 쉬운 것 또는 자주 변화하는 것보다는 변화하기 어려운것, 거의 변화가 없는 것에 의존하라는 원칙이다. 변하기 쉬운것과 어려운것은..
swift 디자인 패턴 - 데코레이터 패턴 목표 : 독립적인 추가 기능의 조합 방법 이해하기. 데커레이터 패턴을 통한 기능의 조합 방법 이해하기. 도로 표시 방법 조합하기 자동차의 네비게이션에서 도로를 표시해 주는 기능이 있다. 기본적으로 도로를 표시해 주는 기능이 있고, 추가적으로 차선을 표시해주는 기능이 있다. RoadDisplay 클래스 : 기본 도로 표시 기능 담당 RoadDisplayWithLane 클래스 : 기본 도로 표시에 추가적으로 차선을 표시하는 기능 담당 이때 RoadDisplayWithLane 클래스는 RoadDisplay 클래스의 하위 클래스로 설계를 한다. [코드 1] import Foundation import CoreLocation /// 기본 도로 표시 클래스 class Ro..