Upgrade to PRO for Only $50/Year—Limited-Time Offer! 🔥
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
俺のオブジェクト指向/20200626LT
Search
kohei.okamoto
June 26, 2020
Programming
1
850
俺のオブジェクト指向/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
320
空の色を計算してみた/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
Claude Codeの「Compacting Conversation」を体感50%減! CLAUDE.md + 8 Skills で挑むコンテキスト管理術
kmurahama
1
380
ローカルLLMを⽤いてコード補完を⾏う VSCode拡張機能を作ってみた
nearme_tech
PRO
0
110
tparseでgo testの出力を見やすくする
utgwkk
2
240
C-Shared Buildで突破するAI Agent バックテストの壁
po3rin
0
390
re:Invent 2025 のイケてるサービスを紹介する
maroon1st
0
130
非同期処理の迷宮を抜ける: 初学者がつまづく構造的な原因
pd1xx
1
730
開発に寄りそう自動テストの実現
goyoki
2
1.1k
大体よく分かるscala.collection.immutable.HashMap ~ Compressed Hash-Array Mapped Prefix-tree (CHAMP) ~
matsu_chara
2
220
안드로이드 9년차 개발자, 프론트엔드 주니어로 커리어 리셋하기
maryang
1
120
S3 VectorsとStrands Agentsを利用したAgentic RAGシステムの構築
tosuri13
6
330
まだ間に合う!Claude Code元年をふりかえる
nogu66
5
850
Navigation 3: 적응형 UI를 위한 앱 탐색
fornewid
1
350
Featured
See All Featured
Optimizing for Happiness
mojombo
379
70k
Facilitating Awesome Meetings
lara
57
6.7k
Rebuilding a faster, lazier Slack
samanthasiow
85
9.3k
Designing for Performance
lara
610
69k
The Cost Of JavaScript in 2023
addyosmani
55
9.4k
Being A Developer After 40
akosma
91
590k
Embracing the Ebb and Flow
colly
88
4.9k
How GitHub (no longer) Works
holman
316
140k
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
32
1.8k
Raft: Consensus for Rubyists
vanstee
141
7.2k
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
508
140k
Fireside Chat
paigeccino
41
3.7k
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