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
俺のオブジェクト指向/20200626LT
Search
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
kohei.okamoto
June 26, 2020
Programming
1
860
俺のオブジェクト指向/20200626LT
ラクスさんのLT会に参加したときの資料です。
イベントページはこちら。
オブジェクト指向LT会 vol.2
https://rakus.connpass.com/event/178556/
kohei.okamoto
June 26, 2020
Tweet
Share
More Decks by kohei.okamoto
See All by kohei.okamoto
四則演算を理解する/four-arithmetic-operations
koheiokamoto
0
330
空の色を計算してみた/calculate-sky-color
koheiokamoto
0
110
ハムスターの回し車の騒音問題に挑んだ話/hamster-LT
koheiokamoto
0
110
経験者がいない状態で、戦略的DDDを現場でやってみた話/ OOC2020
koheiokamoto
7
3.9k
Other Decks in Programming
See All in Programming
Spinner 軸ズレ現象を調べたらレンダリング深淵に飲まれた #レバテックMeetup
bengo4com
1
220
TerraformとStrands AgentsでAmazon Bedrock AgentCoreのSSO認証付きエージェントを量産しよう!
neruneruo
4
2.6k
Automatic Grammar Agreementと Markdown Extended Attributes について
kishikawakatsumi
0
140
今こそ知るべき耐量子計算機暗号(PQC)入門 / PQC: What You Need to Know Now
mackey0225
3
350
そのAIレビュー、レビューしてますか? / Are you reviewing those AI reviews?
rkaga
5
4.2k
カスタマーサクセス業務を変革したヘルススコアの実現と学び
_hummer0724
0
390
余白を設計しフロントエンド開発を 加速させる
tsukuha
7
2k
dchart: charts from deck markup
ajstarks
3
970
CSC307 Lecture 02
javiergs
PRO
1
770
ZJIT: The Ruby 4 JIT Compiler / Ruby Release 30th Anniversary Party
k0kubun
1
380
20260127_試行錯誤の結晶を1冊に。著者が解説 先輩データサイエンティストからの指南書 / author's_commentary_ds_instructions_guide
nash_efp
0
380
開発者から情シスまで - 多様なユーザー層に届けるAPI提供戦略 / Postman API Night Okinawa 2026 Winter
tasshi
0
160
Featured
See All Featured
Bridging the Design Gap: How Collaborative Modelling removes blockers to flow between stakeholders and teams @FastFlow conf
baasie
0
440
Chrome DevTools: State of the Union 2024 - Debugging React & Beyond
addyosmani
9
1.1k
Raft: Consensus for Rubyists
vanstee
141
7.3k
Optimizing for Happiness
mojombo
379
71k
ラッコキーワード サービス紹介資料
rakko
1
2.1M
Six Lessons from altMBA
skipperchong
29
4.1k
Thoughts on Productivity
jonyablonski
74
5k
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
26
3.3k
How To Speak Unicorn (iThemes Webinar)
marktimemedia
1
370
Odyssey Design
rkendrick25
PRO
0
470
Are puppies a ranking factor?
jonoalderson
1
2.6k
How to Ace a Technical Interview
jacobian
281
24k
Transcript
俺のオブジェクト指向 @ラクスさんオブジェクト指向LT会 vol.2 #ooltjp 2020.06.26 岡本滉平 @okaponta_ 1
自己紹介 岡本滉平 ・シンプレクス株式会社 ・OOC2020でDDDについて話しました ・最近Qiitaでちょっと話題になりました ・twitter : @koko72_flavor 2
俺のオブジェクト指向との出会い 3
俺のオブジェクト指向との出会い 4
俺のオブジェクト指向との出会い 5
• プログラムド素人 • そもそも頑張って理解したくない 6
7
「わかりません!!」 8
俺のオブジェクト指向との再会(3年後) 9
俺のオブジェクト指向との再会(3年後) 10
「ドメインモデル貧血症」 “Anemic Domain Model” 11
ドメインモデル貧血症 12 Anemic domain model is the use of a
software domain model where the domain objects contain little or no business logic
俺のオブジェクト指向との再会(3年後) 13 Direction beforeDirection = car.getDirection(); int fuelRemain = car.getFuel();
if (fuelRemain != 0){ Direction afterDirection = turnRight(beforeDirection); car.setDirection(afterDirection); } ・・・
俺のオブジェクト指向との再会(3年後) 14 Direction beforeDirection = car.getDirection(); int fuelRemain = car.getFuel();
if (fuelRemain != 0){ Direction afterDirection = turnRight(beforeDirection); car.setDirection(afterDirection); } ・・・
俺のオブジェクト指向との再会(3年後) 15 Direction beforeDirection = car.getDirection(); int fuelRemain = car.getFuel();
if (fuelRemain != 0){ Direction afterDirection = turnRight(beforeDirection); car.setDirection(afterDirection); } ・・・
俺のオブジェクト指向との再会(3年後) 16 Direction beforeDirection = car.getDirection(); int fuelRemain = car.getFuel();
if (fuelRemain != 0){ Direction afterDirection = turnRight(beforeDirection); car.setDirection(afterDirection); } ・・・
俺のオブジェクト指向との再会(3年後) 17 Direction beforeDirection = car.getDirection(); int fuelRemain = car.getFuel();
if (fuelRemain != 0){ Direction afterDirection = turnRight(beforeDirection); car.setDirection(afterDirection); } ・・・
俺のオブジェクト指向との再会(3年後) 18 if (car.canMove()){ car.turnRight(); }
俺のオブジェクト指向との再会(3年後) 19 if (car.hasNoFuel()){ return; } car.turnRight();
俺のオブジェクト指向との再会(3年後) 20 if(car.hasEnoughFuel()){ car.turnRight(); }
改めて、オブジェクト指向って 21 1. すべてはオブジェクトである。 2. オブジェクトはメッセージの受け答えによってコミュニケーションする。 3. オブジェクトは自身のメモリーを持つ。 4. どのオブジェクトもクラスのインスタンスであり、クラスもまたオブ
ジェクトである。 5. クラスはその全インスタンスの為の共有動作を持つ。インスタンスはプ ログラムにおけるオブジェクトの形態である。 6. プログラム実行時は、制御は最初のオブジェクトに渡され、残りはその メッセージとして扱われる。 アラン・ケイ
俺のオブジェクト指向 22
「擬人化」 “Personification” 23
俺のオブジェクト指向 24
俺のオブジェクト指向 25
ご清聴 ありがとうございました 26