Lock in $30 Savings on PRO—Offer Ends Soon! ⏳
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Form Object へ捧げる気持ち
Search
HaiTo
September 06, 2018
Programming
0
1.7k
Form Object へ捧げる気持ち
HaiTo
September 06, 2018
Tweet
Share
More Decks by HaiTo
See All by HaiTo
管理画面再考
haito
0
250
ゾンビを倒してRuby.2.2に上げた話
haito
0
110
独自Worker管理が辛い
haito
0
190
色々なレビューの話
haito
0
160
おしゃれっぽくターミナルでストリーミング再生をしたかった話
haito
0
130
dendai_lt_1011
haito
0
61
Other Decks in Programming
See All in Programming
Navigation 3: 적응형 UI를 위한 앱 탐색
fornewid
1
220
Full-Cycle Reactivity in Angular: SignalStore mit Signal Forms und Resources
manfredsteyer
PRO
0
120
Level up your Gemini CLI - D&D Style!
palladius
1
180
ソフトウェア設計の課題・原則・実践技法
masuda220
PRO
26
22k
20251127_ぼっちのための懇親会対策会議
kokamoto01_metaps
2
420
リリース時」テストから「デイリー実行」へ!開発マネージャが取り組んだ、レガシー自動テストのモダン化戦略
goataka
0
120
AIの誤りが許されない業務システムにおいて“信頼されるAI” を目指す / building-trusted-ai-systems
yuya4
6
2.5k
開発に寄りそう自動テストの実現
goyoki
1
770
テストやOSS開発に役立つSetup PHP Action
matsuo_atsushi
0
150
AIコーディングエージェント(NotebookLM)
kondai24
0
170
WebRTC、 綺麗に見るか滑らかに見るか
sublimer
1
160
Why Kotlin? 電子カルテを Kotlin で開発する理由 / Why Kotlin? at Henry
agatan
2
6.9k
Featured
See All Featured
Typedesign – Prime Four
hannesfritz
42
2.9k
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
162
15k
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
21
1.3k
RailsConf 2023
tenderlove
30
1.3k
Build your cross-platform service in a week with App Engine
jlugia
234
18k
Embracing the Ebb and Flow
colly
88
4.9k
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
52
5.7k
How To Stay Up To Date on Web Technology
chriscoyier
791
250k
How Fast Is Fast Enough? [PerfNow 2025]
tammyeverts
3
390
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
35
2.3k
What’s in a name? Adding method to the madness
productmarketing
PRO
24
3.8k
Measuring & Analyzing Core Web Vitals
bluesmoon
9
700
Transcript
FormObjectʹ๋͛Δؾ࣋ͪ HaiTo / දࢀಓrb#38
࣍ • About me • Conclusion • Context, Subject •
Why • Conclusion - Revival
࣍ • About me • Conclusion • Context, Subject •
Why • Conclusion - Revival
HaiTo Name: HaiTo Hobby: Game(League of Legends) ࠷ۙPHPॻ͍ͯ·͢ɻ දࢀಓ.rbٱʑ͗͢Δ
͖͑͘͢Ύʔͣ • ڧ͍ݴ༿Λൃ͠·͢ɻ • Θ͟ͱἤΓؾຯʹൃ͠·͢ɻ • ຊʮνʔϜͰٞͯ͠ྑ͍ͱࢥͬͨͦͷ࣌ͷίϯ ηϯαεʹଇͬͯιϑτΣΞॻ͍͍ͯ͜͏ͳʯͱৗʹ ࢥ͍ͬͯ·͕͢ɺҰ୴͜ͷ͜ͱΕͯ͠·͢ɻ
࣍ • About me • Conclusion • Context, Subject •
Why • Conclusion - Revival
େͳ͜ͱ࠷ॳʹ
Զ͕ѱ͔ͬͨɻૉʹؒҧ͍ΛೝΊΔ͔Βɺ ͏FormObjectͱ͔࡞ΔͷΊͯ͘Ε ݩωλ: https://qiita.com/joker1007/items/25de535cd8bb2857a6
࣍ • About me • Conclusion • Context, Subject •
Why • Conclusion - Revival
Context • ݹࠓ౦ɺRailsͷMVCɺಛʹModelͷऔѻʹ͍ͭͯਓʑ಄Λ๊ ͖͑ͯͨ • ServiceClass, FormObject, Decorator, … •
ModelΛऔΓѻ͏ผͷΛՃ͢Δ͜ͱͰɺڽूΛߴΊΔɺ͋Δ ͍ςελϏϦςΟΛߴΊΔ • ͦΜͳࢥͷதͰ͜Ε·Ͱͨ͘͞ΜͷϨΠϠʔΈ͕Railsͷ ্ʹߏங͞Ε͍ͯͬͨ • Form Objectɺ൴·ͨͦͷ͏ͪͷҰਓͩ
Subject • FormObject ͱ͍͏໊લͰɺViewModel͕ര͢Δ • ͜Εྑͦ͞͏ • ͦͯͦ͠ͷViewModel͕ͳ͔ͥӬଓԽͷࣝΛ͍࣋ͬͯ Δ •
ŠƀŜƄƂŜŽūŘ
࣍ • About me • Conclusion • Context, Subject •
Why, What • Conclusion - Revival
ͲΏ͜ͱ͔ʁ • Sublime Text 3 ʹFormObjectͷαϯϓϧίʔυ͕͋Δ ͷͰݟΔ • αϯϓϧίʔυͷ save
؆ศ͔ͩΒ͍͍͚Ͳɺ͍ͩͨ ͍FormObject͕ര͢Δͱ͖ෳࡶͳۀ༻݅ͱARͰ ఆٛ͞ΕͨσʔλεΩʔϚͷϛεϚονʹΑͬͯര͠ ͨΓɺContextΛ໌ࣔ͢ΔͨΊʹര͢ΔͷͰɺͦͷ Contextʹ͓͚ΔಛผͳValidationSave࣌ͷσʔλͷந ग़ɺܗ͕ൃੜͨ͠Γ·͢ɻ
None
ͲΏ͜ͱ͔ʁ • αϯϓϧίʔυͷ save ؆ศ͔ͩΒ͍͍͚Ͳɺ͍ͩͨ ͍FormObject͕ര͢Δͱ͖ෳࡶͳۀ༻݅ͱARͰ ఆٛ͞ΕͨσʔλεΩʔϚͷϛεϚονʹΑͬͯര͠ ͨΓɺContextΛ໌ࣔ͢ΔͨΊʹര͢ΔͷͰɺͦͷ Contextʹ͓͚ΔಛผͳValidationSave࣌ͷσʔλͷந ग़ɺܗ͕ൃੜͨ͠Γ·͢ɻ
ͲΏ͜ͱ͔ʁ • ͋ͱɺ͔ͤͬ͘ARͷੈք؍͔ΒΕͨͷʹΘ͟Θ͟ෳ ͷΛ࣋ͬͨClassΛ࡞Δͷ͍͔͕ͳͷ͔ʁ • ViewModelɺͭ·ΓෳͷϞσϧ͋ΔϞσϧ͔Βಛఆ ίϯςΫετʹଇͬͨଐੑΛ࣋ͬͨද͚ࣔͷObject ͡Όͳ͍Ͱ͔͢ • ͳΜͰͦͷViewModel͕ӬଓԽͷࣝΛ࣋ͬͯΔΜͰ͢
͔ʂ AR͡Ό͋Δ·͍ʹʂAR͡Ό͋͋Δ·͍ʹʂʂʂ
Ͱɺ͓લͲ͏͍ͨ͠ͷʁ • Sublime Text 3ͷαϯϓϧίʔυ࠶ͼ
None
Ͱɺ͓લͲ͏͍ͨ͠ͷʁ • ݸਓతʹ͜Ε͘Βཻ͍খ͍ͨ͘͞͠ • ͋Δ͍FormObject͕ࣗΛͯ͠SignupClassΛୟ͘ ͱ͔ɻ͘͢ͳ͘ͱผClassɻ
࣍ • About me • Conclusion • Context, Subject •
Why • Conclusion - Revival
OOPͱ͔FormObjectΛ͢Ε͍͍ͱ͔ͦ͏ ͍͏ͷࣙΊͯɺͱΓ͋͑ͣ΄ΜͱʹԠ͡ ͯΨϯΨϯClass࡞͍ͬͯ͜͏