Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
Bloc PatternにおけるBloc分割の方針と実践例 / Division plan a...
Search
yamarkz
November 07, 2019
Programming
28k
7
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Bloc PatternにおけるBloc分割の方針と実践例 / Division plan and practical example in bloc pattern
Flutter Meetup Tokyo #12
yamarkz
November 07, 2019
More Decks by yamarkz
See All by yamarkz
ネットスーパーの買い物体験を支える工夫と決済機能実現の過程
yamarkz
0
2k
Flutter/Dartと共に歩んだスタートアップの開発を振り返って得た、成功と失敗の教訓
yamarkz
5
3.3k
Smart Contract Design Pattern
yamarkz
4
3k
トークンの概要と開発観点から見たICO / Token and TokenSale
yamarkz
5
62k
Zilliqa Next Gen High Throughput Blockchain Platform
yamarkz
0
2.4k
詳解 Ethereum Transaction / detail ethereum transaction
yamarkz
5
3k
Proof of Stake Casper
yamarkz
8
14k
Blockchain R&D Introduction
yamarkz
2
51k
Bitcoin Improvement Flow
yamarkz
5
4.7k
Other Decks in Programming
See All in Programming
Embedded Swiftで作る自作USBデバイス によるiOSデバイスの自動テスト / iOSDC Japan 2026 glassfiber
glassfiber
0
250
標準パッケージに uuid が追加された 背景から見る Go らしい意思決定 / go_127_uuid_decision
convto
5
9.3k
AWS CDKのカスタムリソースでContinuum(旧Security Agent)を実装した話 | Implementing Continuum (formerly Security Agent) via AWS CDK Custom Resource
akihisaikeda
2
110
iOSDC Japan 2026 - Swiftで作って学ぼう!データベース自作入門
kaseken
2
420
App Intentsのビルドプロセスを支える技術
kntkymt
0
490
iOS 27でニュースアプリはどう変わる!? 〜日経電子版の新機能対応と、開発事例から〜
lynnswap
7
13k
Workers Cache を知る
syumai
0
320
ソニーのクラウド共通基盤の変遷とAI時代の開発スタイルに合わせた進化 / The Journey of Sony’s Common Cloud Platform and Its Evolution for AI-Native Development
kenjiyoneyama
0
210
AI が書く Go コードの品質を劇的に向上させる Linter: “declscope”
mpyw
0
460
世界の中心で、AI(App Intents)をさけぶ ー App Intents中心設計の実践ガイド
touyou
0
750
Augmenting AI with the Power of Jakarta EE
ivargrimstad
0
380
設計次第でAIコードの読む量は減らせる / designing-for-code-reading
minodriven
32
14k
Featured
See All Featured
Paper Plane
katiecoart
PRO
4
53k
New Earth Scene 8
popppiees
4
2.6k
Agile that works and the tools we love
rasmusluckow
331
22k
The Language of Interfaces
destraynor
162
27k
Navigating the Design Leadership Dip - Product Design Week Design Leaders+ Conference 2024
apolaine
2
450
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
25
2.1k
Between Models and Reality
mayunak
4
480
Leadership Guide Workshop - DevTernity 2021
reverentgeek
1
380
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
162
16k
Fantastic passwords and where to find them - at NoRuKo
philnash
52
3.9k
Max Prin - Stacking Signals: How International SEO Comes Together (And Falls Apart)
techseoconnect
PRO
0
470
Navigating the moral maze — ethical principles for Al-driven product design
skipperchong
2
590
Transcript
,B[VLJ:BNBHVDIJZBNBSL[ 'MVUUFS.FFUVQ #MPD1BUUFSOʹ͓͚Δ#MPDׂͷํͱ࣮ફྫ (MPCBM#MPD-PDBM#MPD$PNQPOFOU#MPD5FNQMBUF#MPD
!ZBNBSL[,B[VLJ:BNBHVDIJ 4FSWFS.PCJMF"QQ&OHJOFFS!)PVTNBSU JOD
͢͜ͱ 'MVUUFSͰ։ൃ͢Δʹ͋ͨͬͯར༻ͨ͠#MPD1BUUFSOʹ͓͚Δɺ ࣮ύλʔϯͷಛͱྨɺͦͯ͠#MPDͷׂͰܾΊͨํΛհ͠·͢
ͷࡐΧϧ ɾ݄த०ʹ'MVUUFSͷΞϓϦΛϦϦʔε ϦϓϨΠε ɾ։ൃظؒि ɾ#MPD1BUUFSOͱ3Y%BSUΛ࠾༻ ɾ࡞ΒΕͨ#MPDͷݸ ɾϦϓϨΠεͷOPUFʹॻ͖·ͨ͠
ɾ݄த०ʹ'MVUUFSͷΞϓϦΛϦϦʔε ϦϓϨΠε ɾ։ൃظؒि ɾ#MPD1BUUFSOͱ3Y%BSUΛ࠾༻ ɾ࡞ΒΕͨ#MPDͷݸ ɾϦϓϨΠεͷOPUFʹॻ͖·ͨ͠ ͷࡐΧϧ ɾ࡞ΒΕͨ#MPDͷݸ ଟ͍ʁগͳ͍
͜ͷݸͷΈ͚ͱಛ͕ࠓճͷͷओͰ͢
#MPD1BUUFSOΛద༻ͨ͜͠ͱͰݟ͑ͨͭͷׂํ
ΞϓϦέʔγϣϯશମʹؔΘΔॲཧΛͭʹ·ͱΊΔ εΫϦʔϯ͚ͩͰར༻͢ΔॲཧΛͭʹ·ͱΊΔ ίϯϙʔωϯτͰར༻͢ΔॲཧΛͭʹ·ͱΊΔ ڞ௨Ͱར༻͢ΔॲཧΛͭʹ·ͱΊΔ #MPD1BUUFSOΛద༻ͨ͜͠ͱͰݟ͑ͨͭͷׂํ
ΞϓϦέʔγϣϯશମʹؔΘΔॲཧΛͭʹ·ͱΊΔ εΫϦʔϯ͚ͩͰར༻͢ΔॲཧΛͭʹ·ͱΊΔ ίϯϙʔωϯτͰར༻͢ΔॲཧΛͭʹ·ͱΊΔ ڞ௨Ͱར༻͢ΔॲཧΛͭʹ·ͱΊΔ #MPD1BUUFSOΛద༻ͨ͜͠ͱͰݟ͑ͨͭͷׂํ ΞϓϦέʔγϣϯશମʹ εΫϦʔϯ͚ͩͰ ίϯϙʔωϯτͰ ڞ௨Ͱ ํͷҧ͍είʔϓͷ͞
ΞϓϦέʔγϣϯશମʹؔΘΔॲཧΛͭʹ·ͱΊΔ εΫϦʔϯ͚ͩͰར༻͢ΔॲཧΛͭʹ·ͱΊΔ ίϯϙʔωϯτͰར༻͢ΔॲཧΛͭʹ·ͱΊΔ ڞ௨Ͱར༻͢ΔॲཧΛͭʹ·ͱΊΔ #MPD1BUUFSOΛద༻ͨ͜͠ͱͰݟ͑ͨͭͷׂํ ͳͥɺ͜ͷΈ͚͕ྑ͍ͷ͔ʁ
ͳͥɺ͜ͷΈ͚͕ྑ͍ͷ͔ʁ ͭͷओͳཧ༝ ΞϓϦɺεΫϦʔϯɺίϯϙʔωϯτͱ͍͏6*ߏΛ࣠ʹॲཧ͕·ͱ·ΔͨΊɺ ߏ͕୯७ͰΘ͔Γ͘͢ͳΔ ϑΝΠϧ૿͍͕͑͢ɺϑΝΠϧ͋ͨΓͷίʔυྔݮΔ είʔϓͷൣғ͕໌֬ʹఆ·ͬͨ#MPDΛ࡞ΔͨΊɺ#MPDࣗମ͕ૄ݁߹ʹͳΔɻ ݁Ռͱͯ͠ɺอकੑ͕ߴ͘ͳΓɺಡΈ͍͢ɺཧղ͍͢͠ɺมߋ͍͢͠ͱ͍ͬ ͨঢ়گʹͳΔ
#MPDͷ࣮ࣗମ͕ߏԽ͞ΕΔ͜ͱʹΑΓɺอकੑ্͕͕Δ
(MPCBM#MPD-PDBM#MPD$PNQPOFOU#MPD5FNQMBUF#MPD ׂํͷఆٛʹΑͬͯੜ·Εͨɺ#MPDͷྨ
(MPCBM#MPD ɾΞϓϦ୯ҐͰɺ͍ൣғʹؔΘΔॲཧΛ·ͱΊΔ FYೝূॲཧ ΠϕϯτετϦʔϜΛଞ#MPDʹ͢Δॲཧ -PDBM#MPD ɾεΫϦʔϯ୯ҐͰɺݶΒΕͨڱ͍ൣғʹؔΘΔॲཧΛ·ͱΊΔ FYඳը͢Δσʔλͷऔಘॲཧ ϦϩʔυͳͲͷը໘୯ҐͰߦΘΕΔॲཧ $PNQPOFOU#MPD
ɾίϯϙʔωϯτ୯ҐͰɺݶΒΕͨ෦ʹؔΘΔॲཧΛ·ͱΊΔ FYϢʔβʔΞΫγϣϯ͕ൃੜ͢Δॲཧ ͓ؾʹೖΓ আ 5FNQMBUF#MPD ɾڞ௨ͷॲཧ୯ҐͰɺݶΒΕͨڱ͍ൣғʹؔΘΔॲཧΛ·ͱΊΔ FYೝূॲཧ ྨࣅը໘ͷྨࣅॲཧ ׂํͷఆٛʹΑͬͯੜ·Εͨɺ#MPDͷྨ
(MPCBM#MPD ɾΞϓϦ୯ҐͰɺ͍ൣғʹؔΘΔॲཧΛ·ͱΊΔ FYೝূॲཧ ΠϕϯτετϦʔϜΛଞ#MPDʹ͢Δॲཧ -PDBM#MPD ɾεΫϦʔϯ୯ҐͰɺݶΒΕͨڱ͍ൣғʹؔΘΔॲཧΛ·ͱΊΔ FYඳը͢Δσʔλͷऔಘॲཧ ϦϩʔυͳͲͷը໘୯ҐͰߦΘΕΔॲཧ $PNQPOFOU#MPD
ɾίϯϙʔωϯτ୯ҐͰɺݶΒΕͨ෦ʹؔΘΔॲཧΛ·ͱΊΔ FYϢʔβʔΞΫγϣϯ͕ൃੜ͢Δॲཧ ͓ؾʹೖΓ আ 5FNQMBUF#MPD ɾڞ௨ͷॲཧ୯ҐͰɺݶΒΕͨڱ͍ൣғʹؔΘΔॲཧΛ·ͱΊΔ FYೝূॲཧ ྨࣅը໘ͷྨࣅॲཧ ׂํͷఆٛʹΑͬͯੜ·Εͨɺ#MPDͷྨ ΧϧΞϓϦͰͷ#MPDΛྨ͝ͱʹৼΓ͚Δͱ
(MPCBM#MPD ΞϓϦ୯ҐͰ͍ൣғʹؔΘΔॲཧΛ·ͱΊΔ "QQ 4DSFFO 4DSFFO 4DSFFO 4DSFFO #MPD
͓ؾʹೖΓը໘ ҟͳΔը໘ͷڞ௨ͷॲཧ πʔϧνοϓ Λɺ ಉҰͷ(MPCBM#MPDΛࢀর੍ͯ͠ޚ͍ͯ͠Δ (MPCBM#MPD ϗʔϜը໘ πʔϧνοϓͷදࣔ݅Λ੍ޚ͢Δ #MPDΛڞ௨Ͱࢀর
"QQ 4DSFFO 4DSFFO 4DSFFO 4DSFFO #MPD εΫϦʔϯ୯ҐͰݶΒΕͨڱ͍ൣғʹؔΘΔॲཧΛ·ͱΊΔ -PDBM#MPD
ϩάΠϯը໘ ɾαΠϯΠϯॲཧ ɾϩάΠϯॲཧ ɾ(PPHMFϩάΠϯॲཧ ɾ'BDFCPPLϩάΠϯॲཧ ɾϝʔϧΞυϨεͷόϦσʔτॲཧ ɾύεϫʔυͷόϦσʔτॲཧ ɾύεϫʔυͷද੍ࣔޚॲཧ ಛఆͷը໘ͷΈͰར༻͢Δॲཧ ϩάΠϯϩάΞτ
Λ੍ޚ͢Δ -PDBM#MPD
$PNQPOFOU#MPD ίϯϙʔωϯτ୯ҐͰ෦తʹؔΘΔॲཧΛ·ͱΊΔ 4DSFFO $PNQPOFOU $PNQPOFOU $PNQPOFOU $PNQPOFOU #MPD
͓ؾʹೖΓը໘ ϗʔϜը໘ $PNQPOFOU#MPD ҰݟҟͳΔ6*ߏ Χʔυܕ ϦετΞΠςϜܕ ʹݟ͑Δ
$PNQPOFOU#MPD $POE$BSE#MPD Λ࠶ར༻͍ͯ͠Δ ͔͠͠ɺഎޙͰར༻͍ͯ͠Δ#MPDಉҰͷͷ ڞ௨ॲཧͷ࠶ར༻ ϗʔϜը໘ ͓ؾʹೖΓը໘
5FNQMBUF#MPD 4DSFFO 5NQ #MPD #MPD #MPD 4DSFFO 4DSFFO ڞ௨ར༻͢Δॲཧ୯ҐͰڱ͍ൣғʹؔΘΔॲཧΛ·ͱΊΔ ܧঝ֦ͯ͠ு
ϓϨʔϯʹར༻
8FC7JFXͱͯ͠ͷجຊػೳಉ͡ͳͷͰɺಉҰͷ#MPDΛར༻͢Δ͕ɺ ֦ுػೳ͕ཉ͍͠߹ʹɺ#MPDࣗମΛܧঝͯ͠࠶ར༻ͭͭ͠ػೳՃ͢Δ #MPDΛܧঝ͠ɺ ػೳ֦ு͍ͯ͠Δ 1MBJOͳ#MPDΛ ͦͷ··ར༻͍ͯ͠Δ 5FNQMBUF#MPD ࣋ͪࠐΈը໘ αʔϏε֓ཁը໘
ΞϓϦέʔγϣϯશମʹؔΘΔॲཧΛͭʹ·ͱΊΔ εΫϦʔϯ͚ͩͰར༻͢ΔॲཧΛͭʹ·ͱΊΔ ίϯϙʔωϯτͰར༻͢ΔॲཧΛͭʹ·ͱΊΔ ڞ௨ར༻͢ΔॲཧΛͭʹ·ͱΊΔ #MPD1BUUFSOΛద༻ͨ͜͠ͱͰݟ͑ͨͭͷׂํ
l࡞ΒΕͨ#MPDͷݸzଟ͍ গͳ͍ʁ
l࡞ΒΕͨ#MPDͷݸzଟ͍ গͳ͍ʁ ݸਓతʹɺ͜Μͳͷ͔ͳͱ͍͏ײ͡ɻ ࠓͷͱ͜Ζ։ൃӡ༻తʹಛʹෆ߹Λײͯ͡ͳ͍Ͱ͕͢ɺ ͔ͨ͠͠Βকདྷతʹɺ՝ʹײ͡Δ͜ͱ͕ग़Δ͔ʜ
·ͱΊ ɾҰॏʹ#MPD1BUUFSOͱݴ͑Ͳɺѻ͍ํ༷ʑଘࡏ͢Δ ɾ(MPCBM -PDBM $PNQPOFOU 5FNQMBUFͦΕͧΕͷ͍ํΛݟۃΊͯѻ͏ ɾείʔϓͷ໌֬ԽɺߏԽʹΑΓɺอकੑͷߴ͍ΞϓϦέʔγϣϯ։ൃ͕ՄೳʹͳΔ #MPD1BUUFSOࣗମͷద༻ΛԣͷߏԽ 6*ͱϩδοΫͷ ͩͱ͢ΔͳΒɺ
#MPDͷ࣮ύλʔϯΛద༻͢Δ͜ͱɺॎͷߏԽ είʔϓʹΑΔϩδοΫ
͝੩ௌ͋Γ͕ͱ͏͍͟͝·ͨ͠ʂ