Last active
June 24, 2019 04:54
-
-
Save hngfu/b6777dcc400597eca3448ee0c76e594a to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
import Foundation | |
//영상과 요구사항 | |
struct Video {} | |
struct Requirement {} | |
class Youtuber { | |
var editor: Editor? | |
func editVideo() { | |
self.editor?.youtuber(self, videoToEdit: Video(), requirement: Requirement()) | |
} | |
} | |
//aka. Delgate | |
//ex) YoutuberDelegate | |
protocol Editor { | |
func youtuber(_ youtuber: Youtuber, videoToEdit video: Video, requirement: Requirement) | |
} | |
class Hngfu: Editor { | |
func youtuber(_ youtuber: Youtuber, videoToEdit video: Video, requirement: Requirement) { | |
//뚝딱뚝딱 힙하게 편집하는 스타일 ^^ | |
//중요한 점은 | |
//편집을해서 영상을 업로드하든 | |
//영상을 파기하든 뭘하든 | |
//Editor를 채택, 준수한 객체가 정하는 거라는 거!(맡겼으니께!) - 책임 | |
} | |
} | |
let hngfu = Hngfu() | |
//우노 유튜버가 흥푸 편집자를 고용함. | |
let unoYoutuber = Youtuber() | |
unoYoutuber.editor = hngfu | |
//두에 유튜버도 흥푸 편집자를 고용함. | |
let dueYoutuber = Youtuber() | |
dueYoutuber.editor = hngfu | |
//뜨레 유튜버도 흥푸를 고용. | |
let treYoutuber = Youtuber() | |
treYoutuber.editor = hngfu | |
class Blu: Editor { | |
func youtuber(_ youtuber: Youtuber, videoToEdit video: Video, requirement: Requirement) { | |
//B급 감성으로 편집하는 스타일(본인 허락 받음) | |
} | |
} | |
let blu = Blu() | |
//두에 유튜버가 편집 스타일을 바꾸기 위해 hngfu를 fire하고 blu를 고용함. (ㅠ.ㅠ) | |
dueYoutuber.editor = blu |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment