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
35
Clean Architecture 3
Takuma Shimizu
September 12, 2018
Tweet
Share
More Decks by Takuma Shimizu
See All by Takuma Shimizu
Swift Attributes
hokuron
0
370
Peek in Calendar implementation of swift-foundation
hokuron
0
150
MVVM
hokuron
0
43
Summon Rust from Swift
hokuron
0
630
Opaque Result Type in Swift with Rust
hokuron
0
140
Generalized accessors
hokuron
0
67
Ownership of Swift as seen from iteration and Rust
hokuron
1
630
Clean Architecture 2
hokuron
0
54
Create MLで犬と猫の肉球を学習
hokuron
0
89
Other Decks in Programming
See All in Programming
定理証明プラットフォーム lapisla.net
abap34
1
670
traP の部内 ISUCON とそれを支えるポータル / PISCON Portal
ikura_hamu
0
230
オニオンアーキテクチャを使って、 Unityと.NETでコードを共有する
soi013
0
390
ゼロからの、レトロゲームエンジンの作り方
tokujiros
3
1.2k
2025.01.17_Sansan × DMM.swift
riofujimon
2
670
為你自己學 Python
eddie
0
540
チームの立て直し施策をGoogleの 『効果的なチーム』と見比べてみた
maroon8021
0
280
Внедряем бюджетирование, или Как сделать хорошо?
lamodatech
0
980
ESLintプラグインを使用してCDKのセオリーを適用する
yamanashi_ren01
2
380
AWSマネコンに複数のアカウントで入れるようになりました
yuhta28
2
150
ErdMap: Thinking about a map for Rails applications
makicamel
1
1.1k
GitHub CopilotでTypeScriptの コード生成するワザップ
starfish719
28
6.1k
Featured
See All Featured
ReactJS: Keep Simple. Everything can be a component!
pedronauck
666
120k
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
6
220
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
356
29k
VelocityConf: Rendering Performance Case Studies
addyosmani
327
24k
Documentation Writing (for coders)
carmenintech
67
4.6k
Code Review Best Practice
trishagee
65
17k
A Philosophy of Restraint
colly
203
16k
GraphQLの誤解/rethinking-graphql
sonatard
68
10k
Navigating Team Friction
lara
183
15k
Java REST API Framework Comparison - PWX 2021
mraible
28
8.4k
Making Projects Easy
brettharned
116
6k
The Web Performance Landscape in 2024 [PerfNow 2024]
tammyeverts
3
380
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 ͍ɺ͜͜ΦϨΦϨղऍ ͷઌऀ