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
kohei.okamoto
June 26, 2020
Programming
1
750
俺のオブジェクト指向/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
270
空の色を計算してみた/calculate-sky-color
koheiokamoto
0
76
ハムスターの回し車の騒音問題に挑んだ話/hamster-LT
koheiokamoto
0
70
経験者がいない状態で、戦略的DDDを現場でやってみた話/ OOC2020
koheiokamoto
7
3.7k
Other Decks in Programming
See All in Programming
『改訂新版 良いコード/悪いコードで学ぶ設計入門』活用方法−爆速でスキルアップする!効果的な学習アプローチ / effective-learning-of-good-code
minodriven
29
5k
Immutable ActiveRecord
megane42
0
130
traP の部内 ISUCON とそれを支えるポータル / PISCON Portal
ikura_hamu
0
240
法律の脱レガシーに学ぶフロントエンド刷新
oguemon
5
670
はてなにおけるfujiwara-wareの活用やecspressoのCI/CD構成 / Fujiwara Tech Conference 2025
cohalz
3
4.2k
asdf-ecspresso作って 友達が増えた話 / Fujiwara Tech Conference 2025
koluku
0
2.6k
Pythonでもちょっとリッチな見た目のアプリを設計してみる
ueponx
1
320
ESLintプラグインを使用してCDKのセオリーを適用する
yamanashi_ren01
2
470
バックエンドのためのアプリ内課金入門 (サブスク編)
qnighy
8
1.7k
自動で //nolint を挿入する取り組み / Gopher's Gathering
utgwkk
1
210
月刊 競技プログラミングをお仕事に役立てるには
terryu16
2
1.3k
自分ひとりから始められる生産性向上の取り組み #でぃーぷらすオオサカ
irof
8
2.2k
Featured
See All Featured
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
27
1.9k
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
44
7k
Bash Introduction
62gerente
610
210k
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
PRO
11
910
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
280
13k
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
507
140k
Side Projects
sachag
452
42k
Bootstrapping a Software Product
garrettdimon
PRO
305
110k
A Philosophy of Restraint
colly
203
16k
Fireside Chat
paigeccino
34
3.2k
VelocityConf: Rendering Performance Case Studies
addyosmani
328
24k
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
8
1.3k
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