Download free for 30 days
Sign in
Upload
Language (EN)
Support
Business
Mobile
Social Media
Marketing
Technology
Art & Photos
Career
Design
Education
Presentations & Public Speaking
Government & Nonprofit
Healthcare
Internet
Law
Leadership & Management
Automotive
Engineering
Software
Recruiting & HR
Retail
Sales
Services
Science
Small Business & Entrepreneurship
Food
Environment
Economy & Finance
Data & Analytics
Investor Relations
Sports
Spiritual
News & Politics
Travel
Self Improvement
Real Estate
Entertainment & Humor
Health & Medicine
Devices & Hardware
Lifestyle
Change Language
Language
English
Español
Português
Français
Deutsche
Cancel
Save
EN
Uploaded by
Tetsuya Kaneuchi
790 views
Dependency Injection FAQ
第51回Cocoa勉強会関西での発表資料です。「ワタシは Singleton がキライだ」の続きです。
Technology
◦
Read more
1
Save
Share
Embed
Embed presentation
Download
Download to read offline
1
/ 20
2
/ 20
3
/ 20
4
/ 20
5
/ 20
6
/ 20
7
/ 20
8
/ 20
9
/ 20
10
/ 20
11
/ 20
12
/ 20
13
/ 20
14
/ 20
15
/ 20
16
/ 20
17
/ 20
18
/ 20
19
/ 20
20
/ 20
More Related Content
PPTX
ドキュメント週末趣味のAWS ElasticBeanstalk編 Health Cheack Type
by
Namba Kazuo
PDF
Introduction to WildFly Swarm
by
Yoshimasa Tanabe
PPTX
モテBTS ~ backlog ~
by
ikikko
PPTX
Memtest86をかけてみた話
by
Yasuaki Sera
PDF
自己紹介LT「俺の迷走っぷり」
by
Ken Muryoi
PPTX
BIOSからUEFI
by
Yasuaki Sera
PDF
DevLOVE Kansai KnockoutJS
by
Go Tanaka
PDF
とある診断員のSECCONオンライン予選
by
zaki4649
ドキュメント週末趣味のAWS ElasticBeanstalk編 Health Cheack Type
by
Namba Kazuo
Introduction to WildFly Swarm
by
Yoshimasa Tanabe
モテBTS ~ backlog ~
by
ikikko
Memtest86をかけてみた話
by
Yasuaki Sera
自己紹介LT「俺の迷走っぷり」
by
Ken Muryoi
BIOSからUEFI
by
Yasuaki Sera
DevLOVE Kansai KnockoutJS
by
Go Tanaka
とある診断員のSECCONオンライン予選
by
zaki4649
What's hot
PDF
Java + React.jsでSever Side Rendering #reactjs_meetup
by
Toshiaki Maki
PDF
MVCフレームワーク Sails.jsについて機能紹介
by
kamiyam .
PPTX
Sails.jsのメリット・デメリット
by
Ito Kohta
PDF
インパス! あのこれダメッス! ~Javaコードレビューの指摘ポイント10選~
by
JustSystems Corporation
PDF
サーバサイドなおじさんがSPAを趣味で初めて作ってみてわかった n のこと(仮)
by
Ken Muryoi
PDF
最近のSpringFramework2013 #jjug #jsug #SpringFramework
by
Toshiaki Maki
PDF
Service workerとwebプッシュ通知
by
zaru sakuraba
PDF
Jsug spring bootコードリーディング 接触篇 a contact
by
tsukasa tamaru
PDF
Swift Protocol and Selector
by
toyship
Java + React.jsでSever Side Rendering #reactjs_meetup
by
Toshiaki Maki
MVCフレームワーク Sails.jsについて機能紹介
by
kamiyam .
Sails.jsのメリット・デメリット
by
Ito Kohta
インパス! あのこれダメッス! ~Javaコードレビューの指摘ポイント10選~
by
JustSystems Corporation
サーバサイドなおじさんがSPAを趣味で初めて作ってみてわかった n のこと(仮)
by
Ken Muryoi
最近のSpringFramework2013 #jjug #jsug #SpringFramework
by
Toshiaki Maki
Service workerとwebプッシュ通知
by
zaru sakuraba
Jsug spring bootコードリーディング 接触篇 a contact
by
tsukasa tamaru
Swift Protocol and Selector
by
toyship
Viewers also liked
PPS
Glass Skywalk.Zhangjiajie1
by
wneilson
PPTX
TUTELARE IL PATRIMONIO INFORMATIVO AZIENDALE GARANTENDO LA COMPLIANCE NORMATIVA
by
Polaris informatica
PPT
Harassment in males by Dr Usman Amin Hotiana
by
Usman Amin
PDF
الروح القدس فى انجيل يوحنا شرح انجيل يوحنا - الاب متى المسكين
by
Ibrahimia Church Ftriends
PPTX
Aprendizaje autónomo Jorge R. García R.
by
russochih
PPS
Engineering approach final
by
engineeringapproach
PPTX
1 1 Alexander the Great
by
ssclasstorremar
PPTX
Ciri-ciri Ikan Hiasan
by
Alyssa Camilia
PDF
Inv pres q22014_-_final
by
CNOServices
PPT
Art show work
by
Christiana (Annie) Izumi
PDF
Anointing history
by
Dolores Vasquez
PDF
Stoic presentation
by
sutoiku
PDF
OVERCOMING CHALLENGES IN URBAN EDUCATION
by
Michael Louca
PDF
Factors Contributing to the Decline of the Anchovy Fisheries in Krueng Raya B...
by
Zulhamsyah Imran
PPT
matboard photo frame CNC cutter
by
Trinity Hu
DOC
Antal International It Global Solutions
by
egonzaleze
PPTX
Hangover
by
bayram437
PPTX
Bahagian luar ikan hiasan
by
Alyssa Camilia
PPTX
Advanced portfolio evaluation sophie lee
by
sophiejane27
PDF
Passw
by
Ellada
Glass Skywalk.Zhangjiajie1
by
wneilson
TUTELARE IL PATRIMONIO INFORMATIVO AZIENDALE GARANTENDO LA COMPLIANCE NORMATIVA
by
Polaris informatica
Harassment in males by Dr Usman Amin Hotiana
by
Usman Amin
الروح القدس فى انجيل يوحنا شرح انجيل يوحنا - الاب متى المسكين
by
Ibrahimia Church Ftriends
Aprendizaje autónomo Jorge R. García R.
by
russochih
Engineering approach final
by
engineeringapproach
1 1 Alexander the Great
by
ssclasstorremar
Ciri-ciri Ikan Hiasan
by
Alyssa Camilia
Inv pres q22014_-_final
by
CNOServices
Art show work
by
Christiana (Annie) Izumi
Anointing history
by
Dolores Vasquez
Stoic presentation
by
sutoiku
OVERCOMING CHALLENGES IN URBAN EDUCATION
by
Michael Louca
Factors Contributing to the Decline of the Anchovy Fisheries in Krueng Raya B...
by
Zulhamsyah Imran
matboard photo frame CNC cutter
by
Trinity Hu
Antal International It Global Solutions
by
egonzaleze
Hangover
by
bayram437
Bahagian luar ikan hiasan
by
Alyssa Camilia
Advanced portfolio evaluation sophie lee
by
sophiejane27
Passw
by
Ellada
More from Tetsuya Kaneuchi
PDF
いま OS X アプリがアツい
by
Tetsuya Kaneuchi
PDF
いまさら NSArray
by
Tetsuya Kaneuchi
PDF
ワタシはSingletonがキライだ
by
Tetsuya Kaneuchi
PDF
Core Animation と View
by
Tetsuya Kaneuchi
PDF
Core Data の概要と NSIncrementalStore
by
Tetsuya Kaneuchi
KEY
WebViewでエラーページを表示する話
by
Tetsuya Kaneuchi
KEY
MVCもやもや話
by
Tetsuya Kaneuchi
いま OS X アプリがアツい
by
Tetsuya Kaneuchi
いまさら NSArray
by
Tetsuya Kaneuchi
ワタシはSingletonがキライだ
by
Tetsuya Kaneuchi
Core Animation と View
by
Tetsuya Kaneuchi
Core Data の概要と NSIncrementalStore
by
Tetsuya Kaneuchi
WebViewでエラーページを表示する話
by
Tetsuya Kaneuchi
MVCもやもや話
by
Tetsuya Kaneuchi
Dependency Injection FAQ
1.
Dependency Injection FAQ かねうちてつや Cocoa勉強会関西 2013.08.03
2.
自己紹介 かねうちてつや @kaniza, id:kaniza, facebook.com/kaniza
など 特に蟹が好きなわけではない オブジェクト指向好き Emacs 好き ビール好き
3.
前回までのあらすじ 2013.06.01 第50回Cocoa勉強会関西 「ワタシは Singleton
がキライだ」 かなりスッキリできました ブログも書きました
4.
おさらい
5.
前回の質疑応答 サブクラスって作らないといけないの? 必要なオブジェクトはコンテナから取得す る?
6.
サブクラス必要? TyphoonAssembly でInject するためのイニシャラ イザを実装できれば、サブクラスではなく カテゴリによる追加でも可
7.
オブジェクトはコンテナから取得? しない
8.
Singletonの置き換え - (void)doSomething { FooManager *manager
= [FooManager sharedInstance]; [manager manageSomething]; }
9.
Singletonの置き換え - (void)doSomething { TyphoonComponentFactory *factory
= [TyphoonComponentFactory defaultFactory]; FooManager *manager = [factory componentOfType:[FooManager class]]; [manager manageSomething]; }
10.
Singletonの置き換え - (id)initWithFooManager:(FooManager *)fooManager { ...
self.fooManager = fooManager; ... } - (void)doSomething { [self.fooManager manageSomething]; }
11.
生成に必要なヤツ - (void)addNewBar { FooManager *manager
= [FooManager sharedInstance]; Bar *bar = [[Bar alloc] initWithManager:manager name:@”buzz”]; [self.bars addObject:bar]; }
12.
生成に必要なヤツ - (id)initWithFooManager:(FooManager *)fooManager
{ ... self.fooManager = fooManager; ... } - (void)addNewBar { Bar *bar = [[Bar alloc] initWithManager:self.fooManager name:@”buzz”]; [self.bars addObject:bar]; }
13.
よくない理由 MyClass Bar FooManager ⃝
14.
AbstractFactory - (id)initWithBarFactory:(BarFactory *)factory
{ ... self.barFactory = factory; ... } - (void)addNewBar { Bar *bar = [self.barFactory barWithName:@”buzz”]; [self.bars addNewBar:bar]; }
15.
AbstractFactory @implementation BarFactory - (id)initWithFooManager:(FooManager
*)fooManager { ... self.fooManager = fooManager; ... } - (Bar *)barWithName:(NSString *)name { return [[Bar alloc] initWithManager:self.fooManager name:name]; }
16.
AbstractFactory @interface MyClass - (void)addNewBar; @end @implementation -
(id)initWithBarFactory:(BarFactory *)factory {...} ... @end
17.
AbstractFactory @interface BarFactory - (Bar
*)barWithName:(NSString *)name; @end @implementation - (id)initWithFooManager: (FooManager *)fooManager {...} ... @end
18.
妥当な依存関係 MyClass Bar BarFactory ⃝ ⃝ FooManager ⃝
19.
依存にもいろいろ どのレベル”が”依存するか △ インタフェース(影響大) ⃝ 実装(影響小) どのレベル”に”依存するか ⃝
インタフェース(変わりにくい) △ 実装(変わりやすい)
20.
まとめ Dependency Injection こわくないよ 依存関係がキレイになると暮らしがよくな るよ
Download