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
Form Object へ捧げる気持ち
Search
HaiTo
September 06, 2018
Programming
1.7k
0
Share
Form Object へ捧げる気持ち
HaiTo
September 06, 2018
More Decks by HaiTo
See All by HaiTo
管理画面再考
haito
0
260
ゾンビを倒してRuby.2.2に上げた話
haito
0
120
独自Worker管理が辛い
haito
0
200
色々なレビューの話
haito
0
160
おしゃれっぽくターミナルでストリーミング再生をしたかった話
haito
0
130
dendai_lt_1011
haito
0
65
Other Decks in Programming
See All in Programming
実用!Hono RPC2026
yodaka
2
280
Vibe NLP for Applied NLP
inesmontani
PRO
0
530
Import assertionsが消えた日~ECMAScriptの仕様はどう決まり、なぜ覆るのか~
bicstone
1
110
Back to the roots of date
jinroq
0
550
[RubyKaigi 2026] Require Hooks
palkan
1
260
Swift Concurrency Type System
inamiy
1
560
Spec-driven Development: How AI Changes Everything (And Nothing)
simas
PRO
0
420
AIエージェントで業務改善してみた
taku271
0
550
第3木曜LT会 #28
tinykitten
PRO
0
120
JOAI2026 1st solution - heron0519 -
heron0519
0
160
感情を設計する
ichimichi
5
1.6k
実践CRDT
tamadeveloper
0
600
Featured
See All Featured
jQuery: Nuts, Bolts and Bling
dougneiner
66
8.4k
Game over? The fight for quality and originality in the time of robots
wayneb77
1
170
Site-Speed That Sticks
csswizardry
13
1.2k
Building Better People: How to give real-time feedback that sticks.
wjessup
370
20k
Designing for Performance
lara
611
70k
ラッコキーワード サービス紹介資料
rakko
1
3.2M
Faster Mobile Websites
deanohume
310
31k
エンジニアに許された特別な時間の終わり
watany
106
240k
Accessibility Awareness
sabderemane
1
110
Chasing Engaging Ingredients in Design
codingconduct
0
180
B2B Lead Gen: Tactics, Traps & Triumph
marketingsoph
0
110
Making the Leap to Tech Lead
cromwellryan
135
9.8k
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࡞͍ͬͯ͜͏