$30 off During Our Annual Pro Sale. View Details »
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Clean Architecture 3
Search
Takuma Shimizu
September 12, 2018
Programming
0
58
Clean Architecture 3
Takuma Shimizu
September 12, 2018
Tweet
Share
More Decks by Takuma Shimizu
See All by Takuma Shimizu
Swift Attributes
hokuron
0
440
Peek in Calendar implementation of swift-foundation
hokuron
0
200
MVVM
hokuron
0
51
Summon Rust from Swift
hokuron
0
690
Opaque Result Type in Swift with Rust
hokuron
0
170
Generalized accessors
hokuron
0
82
Ownership of Swift as seen from iteration and Rust
hokuron
1
690
Clean Architecture 2
hokuron
0
76
Create MLで犬と猫の肉球を学習
hokuron
0
100
Other Decks in Programming
See All in Programming
AIコーディングエージェント(Gemini)
kondai24
0
230
DevFest Android in Korea 2025 - 개발자 커뮤니티를 통해 얻는 가치
wisemuji
0
150
Go コードベースの構成と AI コンテキスト定義
andpad
0
130
開発に寄りそう自動テストの実現
goyoki
2
1k
Claude Codeの「Compacting Conversation」を体感50%減! CLAUDE.md + 8 Skills で挑むコンテキスト管理術
kmurahama
0
280
Context is King? 〜Verifiability時代とコンテキスト設計 / Beyond "Context is King"
rkaga
10
1.3k
Developing static sites with Ruby
okuramasafumi
0
300
Cap'n Webについて
yusukebe
0
130
実は歴史的なアップデートだと思う AWS Interconnect - multicloud
maroon1st
0
200
Navigation 3: 적응형 UI를 위한 앱 탐색
fornewid
1
350
実はマルチモーダルだった。ブラウザの組み込みAI🧠でWebの未来を感じてみよう #jsfes #gemini
n0bisuke2
2
1.2k
Microservices rules: What good looks like
cer
PRO
0
1.4k
Featured
See All Featured
How to train your dragon (web standard)
notwaldorf
97
6.4k
GraphQLとの向き合い方2022年版
quramy
50
14k
Fireside Chat
paigeccino
41
3.7k
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
162
16k
Mobile First: as difficult as doing things right
swwweet
225
10k
Fantastic passwords and where to find them - at NoRuKo
philnash
52
3.5k
Navigating Team Friction
lara
191
16k
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
31
3k
Principles of Awesome APIs and How to Build Them.
keavy
127
17k
No one is an island. Learnings from fostering a developers community.
thoeni
21
3.6k
A Tale of Four Properties
chriscoyier
162
23k
GraphQLの誤解/rethinking-graphql
sonatard
73
11k
Transcript
$MFBO"SDIJUFDUVSF $PDPB 5PVDI .7$ ਗ਼ਫˏେࡕ
͜Ε·Ͱ
ࠓճ " " !
$MFBO"SDIJUFDUVSF $PDPB 5PVDI .7$ Ұ෦ΦϨΦϨղऍ
໔ w ެࣜυΩϡϝϯτ͕ݹ͍ w 4XJGUʹෆ͖ʹͳ͍ͬͯΔͷݟड͚ΒΕ·͢ w հ͢Δͷ͕શ෦͕ϕετϓϥΫςΟεͱ͍͏Θ͚Ͱ ͋Γ·ͤΜ ࠷ݹͷυΩϡϝϯτͩͱ ࠷ऴߋ৽͕ۙ͘લʜ
.7$ # $ % & '
5SBEJUJPOBM.7$ IUUQTEFWFMPQFSBQQMFDPNMJCSBSZBSDIJWFEPDVNFOUBUJPO(FOFSBM$PODFQUVBM$PDPB&ODZDMPQFEJB.PEFM7JFX$POUSPMMFS.PEFM7JFX$POUSPMMFSIUNM
$PDPB.7$ IUUQTEFWFMPQFSBQQMFDPNMJCSBSZBSDIJWFEPDVNFOUBUJPO(FOFSBM$PODFQUVBM$PDPB&ODZDMPQFEJB.PEFM7JFX$POUSPMMFS.PEFM7JFX$POUSPMMFSIUNM ͳΜ͔εοΩϦ
.7$$POUSPMMFS w 4USBUFHZύλʔϯ w 7JFXͷΠϕϯτͳͲΛղऍͯ͠.PEFMʹదͨ͠ܗʹม͑ͯ ͑Δ w .PEFMͷมߋ௨ͳͲΛը໘ʹදࣔʹదͨ͠ܗʹม͑ͯ 7JFXʹ͑Δ w
7JFXͱ.PEFMͷ࠶ར༻ੑΛߴΊΔ w $POUSPMMFSࣗͷ࠶ར༻ੑ٘ਜ਼ʹͳΔ
$MFBO"SDIJUFDUVSFT 1SFTFOUFST
1SFTFOUFS w )VNCMFPCKFDUύλʔϯ w ςετͷ͢͠͞Λߟྀͨ͠ύλʔϯ w ςετ͍͢͠ΦϒδΣΫτͱ ςετͮ͠Β͍ΦϒδΣΫτΛ͚Δ ςετ͍͢͠ɿ1SFTFOUFS ςετͮ͠Β͍ɿ7JFX
w ͖ͬͯͨΦϒδΣΫτΛ7JFX͕ཧղͰ͖Δܗʹ࡞Γม ͑Δ 1SFTFOUFS7JFXͷ࡞Γ ςετՄೳੑΛ্͛ͨ݁Ռ
)VNCMFPCKFDU 6TF$BTF 1SFTFOUFS 7JFX )VNCMF %BUF %BUF'PSNBUUFS $BMFOEBS 5JNF;POF %BUF
4USJOH
)VNCMFPCKFDU 6TF$BTF 1SFTFOUFS 7JFX )VNCMF ܾࢉใ ७རӹ ࠇࣈɾࣈఆ 4USJOH
#PPMPS $PMPS ܾࢉใ
)VNCMFPCKFDU w ςετ͍͢͠ΦϒδΣΫτͱ ςετͮ͠Β͍ΦϒδΣΫτΛ͚Δ w 1SFTFOUFSΠϯϓοτͱΞτϓοτ͕໌֬ʹͳΔ w 7JFX୯ମςετ͕ෆཁʹͳΓ 6*ςετ 9$6*5FTU
ʹूதͰ͖Δ w 1SFTFOUFS͖ͬͯͨΦϒδΣΫτΛ7JFX͕ཧղͰ͖ Δܗʹ࡞Γม͑Δ
.7$$POUSPMMFS w .PEFMͷมߋ௨ͳͲΛը໘ʹදࣔʹదͨ͠ܗʹม͑ͯ 7JFXʹ͑Δ 1SFTFOUFS w ͖ͬͯͨΦϒδΣΫτΛ7JFX͕ཧղͰ͖Δܗʹ࡞Γม ͑Δ
1SFTFOUFS$POUSPMMFS $POUSPMMFSͬͯͲ͔͜ʹ ͋ͬͨΑ͏ͳʜ
None
$MFBO"SDIJUFDUVSFT $POUSPMMFST
$"$POUSPMMFS w 7JFXΛ௨ͯ͠ൃੜͨ͠ϢʔβʔೖྗΛ6TF$BTFʹదͨ͠ ܗʹม͑ͯ͑Δ w ࠷ऴతʹ1SFTFOUFSʹ੍ޚ͕ҠΔɹ͜Εˠ
$"$POUSPMMFS w 7JFXΛ௨ͯ͠ൃੜͨ͠ϢʔβʔೖྗΛ6TF$BTFʹద͠ ͨܗʹม͑ͯ͑Δ w ࠷ऴతʹ1SFTFOUFSʹ੍ޚ͕ҠΔ
.7$$POUSPMMFS w 7JFXͷΠϕϯτͳͲΛղऍͯ͠.PEFMʹదͨ͠ܗʹม͑ ͯ͑Δ $"$POUSPMMFS w 7JFXΛ௨ͯ͠ൃੜͨ͠ϢʔβʔೖྗΛ6TF$BTFʹదͨ͠ ܗʹม͑ͯ͑Δ
$POUSPMMFS$POUSPMMFS (
$PDPB.7$ IUUQTEFWFMPQFSBQQMFDPNMJCSBSZBSDIJWFEPDVNFOUBUJPO(FOFSBM$PODFQUVBM$PDPB&ODZDMPQFEJB.PEFM7JFX$POUSPMMFS.PEFM7JFX$POUSPMMFSIUNM $"తʹґଘͷҰํੑ͕ ഁͯ͠Δ
$PDPB.7$ IUUQTEFWFMPQFSBQQMFDPNMJCSBSZBSDIJWFEPDVNFOUBUJPO(FOFSBM$PODFQUVBM$PDPB&ODZDMPQFEJB.PEFM7JFX$POUSPMMFS.PEFM7JFX$POUSPMMFSIUNM
$PDPB$POUSPMMFS w $POUSPMMFS͕ͻͱͭͱ୭ݴ͍ͬͯͳ͍ w .FEJBUJOHDPOUSPMMFS w $PPSEJOBUJOHDPOUSPMMFS
.FEJBUJOH w ͜Ε·Ͱઆ໌͖ͯͨ͠.7$$POUSPMMFSͷׂ w NBD04ΞϓϦͷ$PDPB#JOEJOHTͰ༻ w ΄΅*OUFSGBDF#VJMEFS͚ͩͰ7JFXͱ.PEFM͕ߋ৽ଓ ͕Մೳ w J04Ͱఏڙ͞Ε͍ͯͳ͍
w ࣗલͰΔʹ*#0VUMFUΛۦ͢Δඞཁ͕͋Δ
$PPSEJOBUJOH w *OUFSGBDF#VJMEFSͷ'JMF`TPXOFSʹׂΓͯ w ΞϓϦͷશମ·ͨҰ෦Λࢹ w EFMFHBUF OPUJpDBUJPO DFOUFS ʹԠ
w 5BSHFUBDUJPOͷUBSHFUʹͳΓ͏Δ ˠ*#"DUJPOΛ࣮͢Δ εϚϗΞϓϦͷ߹ ೖྗ Πϕϯτ 7JFXҎ֎ ͔Βͬͯ͘Δ
1SFTFOUFS$POUSPMMFS ˣ 1SFTFOUFS.FEJBUJOH DPOUSPMMFS
$"$POUSPMMFS$POUSPMMFS ˣ $"$POUSPMMFS$PPSEJOBUJOH DPOUSPMMFS
$MFBO"SDIJUFDUVSF $PDPB.7$ 6TF$BTF 1SFTFOUFS .FEJBUJOHDPOUSPMMFS $POUSPMMFS $PPSEJOBUJOHDPOUSPMMFS 7JFX *#"DUJPO
BT0VUQVUQPSU BT*OQVUQPSU *OUFSGBDF#VJMEFS 'JMF`T0XOFS /PUJpDBUJPO $FOUFS %FMFHBUFT PXOT
$MFBO"SDIJUFDUVSF $PDPB5PVDI.7$ 6TF$BTF 1SFTFOUFS .FEJBUJOHDPOUSPMMFS $POUSPMMFS $PPSEJOBUJOHDPOUSPMMFS 7JFX *#"DUJPO
BT0VUQVUQPSU BT*OQVUQPSU *OUFSGBDF#VJMEFS 'JMF`T0XOFS /PUJpDBUJPO $FOUFS %FMFHBUFT PXOT
1SFTFOUFS .FEJBUJOHDPOUSPMMFS 7JFX$POUSPMMFS ͍ɺ͜͜ΦϨΦϨղऍ ͷઌऀ