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
Clean Architecture 3
Search
Takuma Shimizu
September 12, 2018
Programming
0
24
Clean Architecture 3
Takuma Shimizu
September 12, 2018
Tweet
Share
More Decks by Takuma Shimizu
See All by Takuma Shimizu
Swift Attributes
hokuron
0
320
Peek in Calendar implementation of swift-foundation
hokuron
0
120
MVVM
hokuron
0
33
Summon Rust from Swift
hokuron
0
580
Opaque Result Type in Swift with Rust
hokuron
0
120
Generalized accessors
hokuron
0
56
Ownership of Swift as seen from iteration and Rust
hokuron
1
590
Clean Architecture 2
hokuron
0
45
Create MLで犬と猫の肉球を学習
hokuron
0
77
Other Decks in Programming
See All in Programming
M5Stackボードの選び方
tanakamasayuki
0
200
Micro Frontends Unmasked: Opportunities, Challenges, Alternatives
manfredsteyer
PRO
0
250
pytest プラグインを開発して DRY に自動テストを書こう
inuatsu
2
220
Cohesion in Modeling and Design
mploed
3
170
XP2024 っていう国際会議に行ってきたよの記 / XP2024 Conference Report
bonotake
4
110
Unlocking Python's Core Magic
leew
0
100
Frontend Magic mit CSS Houdini
joergneumann
0
420
Re:PandasAI:生成AIがデータ分析業務にもたらすパラダイムシフト【増補改訂版】
negi111111
1
620
M5Stack に色々な M5ユニットをつないで扱う為の新たなアプローチ
gob
0
200
個人開発のおいしさと続け方
3l4l5
1
240
AWS認定資格を受験するにあたり、気づいたこと・実践していたことのまとめ
satoshi256kbyte
1
120
◯◯エンジニアになった理由
gessy0129
PRO
0
550
Featured
See All Featured
Done Done
chrislema
180
16k
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
124
18k
Unsuck your backbone
ammeep
667
57k
Bootstrapping a Software Product
garrettdimon
PRO
304
110k
How GitHub Uses GitHub to Build GitHub
holman
472
290k
A Philosophy of Restraint
colly
202
16k
[RailsConf 2023] Rails as a piece of cake
palkan
49
4.7k
Building Better People: How to give real-time feedback that sticks.
wjessup
359
19k
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
36
2.1k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
327
21k
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
104
48k
How to train your dragon (web standard)
notwaldorf
87
5.6k
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 ͍ɺ͜͜ΦϨΦϨղऍ ͷઌऀ