- Today
- Total
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- swift
- sort
- dart
- 스위프트디자인패턴
- Design Pattern
- 디자인패턴
- coding test
- rxswift
- 정렬알고리즘
- swift 코딩테스트
- 디자인 패턴
- swift split
- 프로그래머스 레벨2
- 코딩테스트
- 자료구조
- Algorithm
- datastructure
- 프로그래머스
- 프로그래머스 swift
- 알고리즘
- 프로그래머스 level1
- 정렬
- programmer
- 정렬 알고리즘
- swift 알고리즘
- 스위프트
- programmers
- 다트
- 감성에세이
- 코테
Bill Kim's Life...
[디자인패턴] Factory(팩토리) : 객체 생성 로직을 숨긴채 객체 생성 본문
디자인패턴에의 Factory(팩토리)에 대하여 Swift를 기반으로 하여 살펴봅니다.
#. 구독 대상
- 컴퓨터 및 소프트웨어 공학과 관련자
- 소프트웨어 관련 종사자
- 기타 컴퓨터 공학에 관심이 있으신 분
- 디자인패턴의 개념을 잡고 싶으신 분
- 기타 소프트웨어 개발과 지식에 관심이 있으신 모든 분들
- Swift 언어를 활용하여 디자인패턴을 공부해보고 싶으신 분들
Factory(팩토리)
Factory(팩토리) 디자인 패턴은 객체 생성과 관련된 디자인 패턴으로서 사용자에게 객체 생성 로직을 노출하지 않은채 객체를 생성하기 위해서 제공되는 패턴입니다.
사용자는 단순히 필요한 객체의 생성 로직을 신경쓰지 않고 특정 객체에 대해서 가져올 수 있습니다.
구조
팩토리 패턴을 UML로 도식화하면 아래와 같습니다.
Implementation
class Factory {
func makePen() -> Pen {
return Pen()
}
func makePencil() -> Pencil {
return Pencil()
}
}
class Pen {
init() {
print("Pen init")
}
func make() {
print("Make a pen.")
}
}
class Pencil {
init() {
print("Pencil init")
}
func make() {
print("Make a pencil.")
}
}
let factory = Factory()
let pen = factory.makePen() // Pen init
pen.make() // Make a pen.
let pencil = factory.makePencil() // Pencil init
pencil.make() // Make a pencil.
이상으로 Swift를 기반으로하여 Factory(팩토리) 디자인 패턴을 설명하였습니다.
오늘은 짧지만 Factory 패턴의 기본 개념과 사용 예제를 코드를 통해서 살펴보았습니다.
그럼 오늘 하루도 잘 마무리하시기 바랍니다.
감사합니다.
www.slideshare.net/BillKim8/swift-factory
[Swift] Factory
Swift 소스 코드를 통한 Factory 디자인패턴에 관한 강의 자료입니다.
www.slideshare.net
github.com/billnjoyce/Lectures/tree/master/src/designpatterns
billnjoyce/Lectures
Contribute to billnjoyce/Lectures development by creating an account on GitHub.
github.com
[참고 자료(References)]
[1] Design Pattern - Factory : https://ehdrjsdlzzzz.github.io/2019/04/03/Design-Pattern-Factory/
[2] Factory Pattern(swift) : https://linsaeng.tistory.com/5
[3] Design Pattern - Factory : https://ehdrjsdlzzzz.github.io/2019/04/03/Design-Pattern-Factory/
[4] Swift : Factory Pattern : https://medium.com/@mayooresan/swift-factory-pattern-6f0d7556d862
[5] Design Pattern) 팩토리 패턴 : https://o-o-wl.tistory.com/18
[6] Objective-c로 구현한 Factory Pattern (Protocol을 이용한 추상 팩토리) : https://thdev.net/321
[7] Design Patterns — Creational Patterns — Factory Pattern in Swift : https://medium.com/swift-programming/design-patterns-creational-patterns-factory-pattern-in-swift-d049af54235b
[8] 18일차 [디자인 패턴] 팩토리 패턴 : https://woovictory.github.io/2019/02/07/Design-Pattern-Factory-Pattern/
[9] 디자인 패턴 : 추상 팩토리 vs 팩토리 메소드 : https://www.it-swarm.dev/ko/design-patterns/디자인-패턴-추상-팩토리-vs-팩토리-메소드/970371311/
[10] 디자인패턴 - 팩토리 패턴 (factory pattern) : https://jusungpark.tistory.com/14
'CS(컴퓨터 과학) > Design Patterns' 카테고리의 다른 글
[디자인패턴] Prototype(프로토타입) : 클래스 정의와 생성 방식을 캡슐화, 객체 복제(Clone) (0) | 2020.06.12 |
---|---|
[디자인패턴] Factory Method(팩토리 메소드) : 객체 생성을 위한 인터페이스 제공 (0) | 2020.06.12 |
[디자인패턴] Abstract Factory(추상 팩토리) : 객체 생성을 추상화하여 독립적인 인터페이스 구현 (0) | 2020.06.12 |
[디자인패턴] Singleton(싱글톤) : 객체 생성을 단 한번만! (0) | 2020.06.12 |
[디자인패턴] MVC & MVP & MVVM(iOS 개발자들을 위하여) (0) | 2020.06.11 |