Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Speaker Deck
PRO
Sign in
Sign up for free
addObserver: から考える API インタフェース
KAMEDAkyosuke
December 18, 2017
Programming
1
400
addObserver: から考える API インタフェース
NSNotificationCenter の addObserver が iOS9 から removeObserver しなくて良くなったので API の対称性から外れてしまったお話です
KAMEDAkyosuke
December 18, 2017
Tweet
Share
Other Decks in Programming
See All in Programming
Introduction to Property-Based Testing @ COSCUP 2022
cybai
1
150
Edge Side Frontend という新領域
mizchi
24
10k
FullStack eXchange, July 2022
brucel
0
200
サーバーレスパターンから学ぶデータ分析基盤構築 / devio2022
kasacchiful
0
510
RustのWebフレームワーク周りの概観
hayao
0
180
Register-based calling convention for Go functions
cjamhe01385
0
420
atama plusの開発チームはどのように「不確実性」に向き合ってきたか〜2022夏版〜
atamaplus
3
640
Isar勉強会
hoddy3190
0
570
Automating Gradle benchmarks at N26
ubiratansoares
PRO
2
150
Rust on Lambda 大きめCSV生成
atsuyokota
1
400
테라폼으로 ECR 관리하기 (How to Manage ECR with Terraform)
posquit0
0
530
2022年のモダンCSS改
tonkotsuboy_com
24
17k
Featured
See All Featured
The Mythical Team-Month
searls
210
39k
Support Driven Design
roundedbygravity
87
8.6k
What’s in a name? Adding method to the madness
productmarketing
11
1.6k
Web development in the modern age
philhawksworth
197
9.3k
5 minutes of I Can Smell Your CMS
philhawksworth
196
18k
Building Better People: How to give real-time feedback that sticks.
wjessup
344
17k
Designing with Data
zakiwarfel
91
4k
Designing for humans not robots
tammielis
242
24k
Designing Experiences People Love
moore
130
22k
Designing on Purpose - Digital PM Summit 2013
jponch
106
5.7k
Infographics Made Easy
chrislema
233
17k
Become a Pro
speakerdeck
PRO
3
910
Transcript
BEE0CTFSWFS͔Βߟ͑ Δ"1*ΠϯλϑΣʔε ,":"$ٕज़෦ ُాژհ
ࣗݾհ w ,".&%"LZPTVLF w UXJUUFS!(FNNCV w UXJUDI!,".&%"LZPTVLF w J04"OESPJE&OHJOFFS w
ࠇຐज़ಘҙ
J04͔Β/4/PUJpDBUJPO$FOUFSͷ SFNPWF0CTFSWFS͠ͳͯ͘ྑ͘ͳͬ ͨͬͯฉ͍ͨ͜ͱ͋Γ·͢ΑͶʁ BOESPJEͷํ#SPBEDBTUͷSFHJTUFS3FDFJWFSͨ͠ޙʹVOSFHJTUFS3FDFJWFS͠ͳͯ͘ྑ ͘ͳͬͨͱࢥ͍͚ͬͯͨͩΕେৎͰ͢ɻ
υΩϡϝϯτ BEE0CTFSWFSTFMFDUPSOBNFPCKFDU %JTDVTTJPO *GZPVSBQQUBSHFUTJ04BOEMBUFSPSNBD04 BOEMBUFS ZPVEPOUOFFEUPVOSFHJTUFSBOPCTFSWFSJO JUTEFBMMPDNFUIPE SFGTIUUQTEFWFMPQFSBQQMFDPNEPDVNFOUBUJPOGPVOEBUJPOOTOPUJpDBUJPODFOUFS BEEPCTFSWFS MBOHVBHFPCKD
ϦϦʔεϊʔτ /4/PUJpDBUJPO$FOUFS *O049BOEJ04/4/PUJpDBUJPO$FOUFSBOE /4%JTUSJCVUFE/PUJpDBUJPO$FOUFSXJMMOPMPOHFSTFOE OPUJpDBUJPOTUPSFHJTUFSFEPCTFSWFSTUIBUNBZCF EFBMMPDBUFE CMBICMBICMBI SFGTIUUQTEFWFMPQFSBQQMFDPNMJCSBSZDPOUFOUSFMFBTFOPUFT'PVOEBUJPO3/ 'PVOEBUJPO0MEFS/PUFTJOEFYIUNM9@/PUFT
ϦϦʔεϊʔτ CMBICMBICMBI #MPDLCBTFEPCTFSWFSTWJBUIF</4/PUJpDBUJPO$FOUFS BEE0CTFSWFS'PS/BNFPCKFDURVFVFVTJOH#MPDL> NFUIPETUJMMOFFEUPCFVOSFHJTUFSFEXIFOOPMPOHFS JOVTFTJODFUIFTZTUFNTUJMMIPMETBTUSPOHSFGFSFODF UPUIFTFPCTFSWFST SFGTIUUQTEFWFMPQFSBQQMFDPNMJCSBSZDPOUFOUSFMFBTFOPUFT'PVOEBUJPO3/ 'PVOEBUJPO0MEFS/PUFTJOEFYIUNM9@/PUFT
͋Εʁ
#MPDLCBTFEPCTFSWFSTWJBUIF</4/PUJpDBUJPO$FOUFS BEE0CTFSWFS'PS/BNFPCKFDURVFVFVTJOH#MPDL> NFUIPETUJMMOFFEUPCFVOSFHJTUFSFEXIFOOPMPOHFS JOVTFTJODFUIFTZTUFNTUJMMIPMETBTUSPOHSFGFSFODF UPUIFTFPCTFSWFST
ͭ·Γ
J04͔Β/4/PUJpDBUJPO$FOUFS ͷSFNPWF0CTFSWFS͠ͳͯ͘ ྑ͘ͳͬͨ
Ͱͳ͘
J04͔Β/4/PUJpDBUJPO$FOUFSͷ BEE0CTFSWFSSFNPWF0CTFSWFS ͠ͳͯ͘ྑ͘ͳͬͨ
͜ΕΛ;·͑ͯ
ͦͦSFNPWF0CTFSWFS ͠ͳͯ͘Α͍ͬͯྑ͍͜ͱʁ
ϓϩάϥϛϯάͷ͓࡞๏ w ϝϞϦΛ֬อͨ͠Β w ϑΝΠϧΛ։͍ͨΒ w τϥϯβΫγϣϯΛ։࢝ͨ͠Β w 5$1ιέοτΛ։͍ͨΒ
ϓϩάϥϛϯάͷ͓࡞๏ w ϝϞϦΛ֬อͨ͠Βղ์͠ͳ͚ΕͳΒͳ͍ w ϑΝΠϧΛ։͍ͨΒด͡ͳ͚ΕͳΒͳ͍ w τϥϯβΫγϣϯΛ։࢝ͨ͠Βऴྃ͠ͳ͚ΕͳΒͳ͍ w 5$1ιέοτΛ։͍ͨΒด͡ͳ͚ΕͳΒͳ͍
BEESFNPWF0CTFSWFS Ͳ͏Ͱ͠ΐ͏͔ʁ
None
͍͔ͭ͘ͷΫϥεΛ֬ ೝͯ͠Έ·͠ΐ͏
8,)551$PPLJF4UPSF %JTDVTTJPO 5IFDPPLJFTUPSFEPFTOPUNBJOUBJOBTUSPOH SFGFSFODFUPUIFPCTFSWFS:PVBSFSFTQPOTJCMFGPS SFNPWJOHUIFPCTFSWFSCFGPSFJUCFDPNFTJOWBMJE SFGTIUUQTEFWFMPQFSBQQMFDPNEPDVNFOUBUJPOXFCLJUXLIUUQDPPLJFTUPSF BEEPCTFSWFS
"71MBZFS BEE1FSJPEJD5JNF0CTFSWFS'PS*OUFSWBMRVFVFVTJOH#MPDL %JTDVTTJPO :PVNVTUNBJOUBJOBTUSPOHSFGFSFODFUIFSFUVSOFE WBMVFBTMPOHBTZPVXBOUUIFUJNFPCTFSWFSUPCF JOWPLFECZUIFQMBZFS&BDIJOWPDBUJPOPGUIJTNFUIPE TIPVMECFQBJSFEXJUIBDPSSFTQPOEJOHDBMMUP SFNPWF5JNF0CTFSWFS3FMFBTJOHUIFPCTFSWFSPCKFDU XJUIPVUJOWPLJOHSFNPWF5JNF0CTFSWFSXJMMSFTVMUJO VOEFpOFECFIBWJPS
SFGTIUUQTEFWFMPQFSBQQMFDPNEPDVNFOUBUJPOBWGPVOEBUJPOBWQMBZFS BEEQFSJPEJDUJNFPCTFSWFSGPSJOUFSW MBOHVBHFPCKD
ϓϩάϥϛϯάͷ͓࡞๏ w SFHJTUFSͨ͠ΒVOSFHJTUFS͠ͳ͚ΕͳΒͳ͍
ͭ·Γ /4/PUJpDBUJPO$FOUFSͷBEE0CTFSWFS SFNPWF0CTFSWFS͠ͳͯ͘ྑ͘ͳ͚ͬͨͲɺϓϩάϥϛ ϯάͷ͓࡞๏ͱͯ͠ྑ͘ͳ͍ʂʂ
/4/PUJpDBUJPO$FOUFS ͦΕҎ֎ͷΫϥε SFNPWF0CTFSWFS͠ͳ͍ ͳ͠ ͋Γ SFNPWF0CTFSWFS͢Δ ͳ͠ ͳ͠ දʹ͢Δͱ
ࢲͨͪͷνʔϜͰ w SFHJTUFSVOSFHJTUFS BEESFNPWF0CTFSWFS ͓࡞๏ w /4/PUJpDBUJPO$FOUFS͚ͩྫ֎ͷঢ়ଶͰΉ͠ΖଞͷΫ ϥεͰؒҧ͑ΔڪΕ͕͋Δ w ͳͷͰSFNPWF0CTFSWFSΛৗʹॻ͘ํʹͱ͍͏͔
BEE0CTFSWFS'PS/BNFPCKFDURVFVFVTJOH#MPDLΛ ͏͜ͱʹ
·ͱΊ w "1*ͷΠϯλϑΣʔεͦΕ͚ࣗͩͰͳ͘ଞͷΫϥε ϑϨʔϜϫʔΫ͔ΒܾΊΔ͖ w ͳͷͰɺ͋Δ"1*ͷ༻ํ๏͕มΘ͔ͬͨΒͱ͍ͬͯଞ ͷΫϥεͱͷؔ࿈ʹҙ͖͢ w ͦͷ্ͰࣗͷϓϩδΣΫτʹͲ͏औΓΉ͔ܾΊ·͠ΐ ͏