Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Meeプロジェクト紹介
Search
Yuta Kawabe
September 21, 2018
Programming
0
55
Meeプロジェクト紹介
Yuta Kawabe
September 21, 2018
Tweet
Share
More Decks by Yuta Kawabe
See All by Yuta Kawabe
年末年始読んだ本LT
yaruki00
0
60
イマイチなsubscribeをRxぽくする
yaruki00
0
640
気をつけよう!認知バイアス
yaruki00
1
53
iOSDC2019トークピックアップ
yaruki00
0
37
スクラム完全理解
yaruki00
0
51
小さなチームでも高品質なモバイルアプリを作るためのテスト戦略
yaruki00
0
69
ここがダメだよ🍎さん!
yaruki00
0
33
iOSDCまとめ
yaruki00
0
37
iOSアプリ開発手法の変化
yaruki00
0
39
Other Decks in Programming
See All in Programming
可変変数との向き合い方 $$変数名が踊り出す$$ / php conference Variable variables
gunji
0
230
SQLアンチパターン第2版 データベースプログラミングで陥りがちな失敗とその対策 / Intro to SQL Antipatterns 2nd
twada
PRO
27
8.1k
おやつのお供はお決まりですか?@WWDC25 Recap -Japan-\(region).swift
shingangan
0
150
ISUCON研修おかわり会 講義スライド
arfes0e2b3c
1
480
チームのテスト力を総合的に鍛えて品質、スピード、レジリエンスを共立させる/Testing approach that improves quality, speed, and resilience
goyoki
6
1.2k
AIコーディングエージェント全社導入とセキュリティ対策
hikaruegashira
12
7.4k
Porting a visionOS App to Android XR
akkeylab
0
910
Jakarta EE Meets AI
ivargrimstad
0
290
The Modern View Layer Rails Deserves: A Vision For 2025 And Beyond @ RailsConf 2025, Philadelphia, PA
marcoroth
2
790
Git Sync を超える!OSS で実現する CDK Pull 型デプロイ / Deploying CDK with PipeCD in Pull-style
tkikuc
4
460
slogパッケージの深掘り
integral0515
0
130
AI コーディングエージェントの時代へ:JetBrains が描く開発の未来
masaruhr
2
210
Featured
See All Featured
Adopting Sorbet at Scale
ufuk
77
9.5k
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
138
34k
Product Roadmaps are Hard
iamctodd
PRO
54
11k
Bootstrapping a Software Product
garrettdimon
PRO
307
110k
Building an army of robots
kneath
306
45k
Rails Girls Zürich Keynote
gr2m
95
14k
XXLCSS - How to scale CSS and keep your sanity
sugarenia
248
1.3M
Agile that works and the tools we love
rasmusluckow
329
21k
YesSQL, Process and Tooling at Scale
rocio
173
14k
Stop Working from a Prison Cell
hatefulcrawdad
271
21k
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
109
19k
Large-scale JavaScript Application Architecture
addyosmani
512
110k
Transcript
MEEϓϩδΣΫτհ IOSษڧձ 2018/9/21
ςΩετ ࣍ ▸ σΟϨΫτϦߏ ▸ ΞʔΩςΫνϟ ▸ ڥΓସ͑ ▸ Ωϟογϡ
▸ Ξϥʔτදࣔ ▸ Πϯδέʔλදࣔ ▸ API௨৴(secret·ΘΓ) ▸ Generamba ▸ ςετ
σΟϨΫτϦ ߏ
ςΩετ σΟϨΫτϦߏ ▸ ͜Μͳײ͡ ϓϩδΣΫτʹґΒͳ͍ ϓϩδΣΫτͰ ϓϩδΣΫτʹґΒͳ͍
ΞʔΩςΫνϟ
▸ Clean Architectureతͳͭ ςΩετ ΞʔΩςΫνϟ Builder Presentation Domain Infra Wireframe
Presenter View UseCase Mapper DomainModel Repository DataStore Entity
▸ Clean Architectureతͳͭ ςΩετ ΞʔΩςΫνϟ - BUILDER Builder Presentation Domain
Infra Wireframe Presenter View UseCase Mapper DomainModel Repository DataStore Entity PRESENTATIONͷ ϑΝΫτϦ
ςΩετ ΞʔΩςΫνϟ - BUILDER ը໘ʹඞཁͳ ύϥϝʔλ VCฦ͢ ґଘΫϥε ࡞ɾཱ
▸ Clean Architectureతͳͭ ςΩετ ΞʔΩςΫνϟ - PRESENTATION Builder Presentation Domain
Infra Wireframe Presenter View UseCase Mapper DomainModel Repository DataStore Entity ը໘ભҠ VIEWͷΠϕϯτ ϋϯυϦϯά σʔλදࣔ Πϕϯτ͛Δ
ςΩετ ΞʔΩςΫνϟ - WIREFRAME ֤ը໘ͷํ ϓϩτίϧʹ ద߹͢Δ͚ͩ ϓϩίτϧʹ ࣮
ςΩετ ΞʔΩςΫνϟ - PRESENTER Πϕϯτͷ͛ ઌ͕͍ͬͺ͍ Πϕϯτड͚औΔ
ςΩετ ΞʔΩςΫνϟ - VIEW σʔλΒͬͯ දࣔ
▸ Clean Architectureతͳͭ ςΩετ ΞʔΩςΫνϟ - USECASE Builder Presentation Domain
Infra Wireframe Presenter View UseCase Mapper DomainModel Repository DataStore Entity Ϣʔβ ΞΫγϣϯ
ςΩετ ΞʔΩςΫνϟ - USECASE ͏ଆ͕࡞Γํ Λҙࣝ͠ͳ͍ͨ ΊͷϑΝΫτϦ
ςΩετ ΞʔΩςΫνϟ - USECASE جຊతʹ ࣮ߦҰͭ APIୟͭ͘ SINGLEฦ͢ ࣮ࡍͷॲཧ REPOSITORY͕୲͏
(Ұ෦DATASTORE)
ςΩετ ΞʔΩςΫνϟ - USECASE Ωϟογϡͷ औಘ୲ ENTITY͔Β DOMAINMODELͷม Ωϟογϡ REPOSITORYͷׂͰʁ
▸ Clean Architectureతͳͭ ςΩετ ΞʔΩςΫνϟ - DOMAINMODEL Builder Presentation Domain
Infra Wireframe Presenter View UseCase Mapper DomainModel Repository DataStore Entity ΞϓϦͰ͏ σʔλ
ςΩετ ΞʔΩςΫνϟ - DOMAINMODEL σʔλͷू·Γ ը໘ຖͰͳ͍ ରԠ͢ΔPROTO͕ ͋Δ߹ॳظԽ Ͱ͏
ςΩετ ΞʔΩςΫνϟ - DOMAINMODEL ENUMͰ͋Δ͜ͱ ͠͠ ؔ࿈͢Δॲཧ ϞσϧʹؚΊΔ
▸ Clean Architectureతͳͭ ςΩετ ΞʔΩςΫνϟ - REPOSITORY Builder Presentation Domain
Infra Wireframe Presenter View UseCase Mapper DomainModel Repository DataStore Entity σʔλΞΫηε ΠϯλʔϑΣʔε
ςΩετ ΞʔΩςΫνϟ - REPOSITORY ͜͜ʹ ϑΝΫτϦ σʔλΞΫηε खஈΛఏڙ
ςΩετ ΞʔΩςΫνϟ - REPOSITORY ࣮ࡍͷॲཧ DATASTORE͕୲͏
▸ Clean Architectureతͳͭ ςΩετ ΞʔΩςΫνϟ - DATASTORE Builder Presentation Domain
Infra Wireframe Presenter View UseCase Mapper DomainModel Repository DataStore Entity σʔλͷ͋Γ͔ ʹΞΫηε
ςΩετ ΞʔΩςΫνϟ - DATASTORE Έͨͼ ϑΝΫτϦ APIͳΓKEYCHAINͳΓ ΞΫηε͢Δ
▸ Clean Architectureతͳͭ ςΩετ ΞʔΩςΫνϟ - ENTITY Builder Presentation Domain
Infra Wireframe Presenter View UseCase Mapper DomainModel Repository DataStore Entity PROTOͰੜ
ڥΓସ͑
ςΩετ ڥΓସ͑ ▸ Environment: APIڥͱϏϧυઃఆΛϏϧυϑϥά͔Βܾఆ
Ωϟογϡ
ςΩετ Ωϟογϡ(USECASE) ௨৴ޭͨ͠Β UDʹͿͪ͜Ή ௨৴ࣦഊͨ͠Β UD͔Βऔಘ ݁Ռͱͯ͠ ERROR
ςΩετ Ωϟογϡ(PRESENTER) Ωϟογϡ͖ ͷΤϥʔͳΒ ͦΕΛදࣔ
Ξϥʔτදࣔ
ςΩετ Ξϥʔτදࣔ Ξϥʔτදࣔͷ ͨΊͷσʔλ ࠨͷσʔλ͔Β ΞϥʔτΛදࣔ
ςΩετ Ξϥʔτදࣔ Τϥʔϝοηʔδ ΛALERTABLEʹద߹
Πϯδέʔλ දࣔ
ςΩετ Πϯδέʔλදࣔ(INDICATORVIEW) Πϯδέʔλදࣔ༻ Ϋϥε Ϗϡʔͷੜͱදࣔ
ςΩετ Πϯδέʔλදࣔ(PRESENTER) දࣔͤ͞Δ ফ͢ ফ͢
API௨৴ SECRETपΓ
ςΩετ API௨৴ DATASTORE͕USECASEΛ ͍ͬͯΔ ڞ௨Խ ΞʔΩςΩτϧʔϧҧ
GENERAMBA
ςΩετ GENERAMBA ▸ https://github.com/Yaruki00/GenerambaTemplate ▸ “my_presentation”ͱ͍͏ςϯϓϨʔτΛ༻ ▸ PresentationͷίʔυΛੜ͍ͯ͠Δ
ςετ
ςΩετ ςετ IOSSNAPSHOTTESTCASEΛ༻ ಈ࡞֬ೝɿTRUE ςετɿFALSE Ϗϡʔͷੜ ࢀߟը૾ͱͷൺֱ
࣭ͳͲ͋Ε MEEνʔϜϝϯόʔʂ