Upgrade to Pro — share decks privately, control downloads, hide ads and more …

俺のオブジェクト指向/20200626LT

 俺のオブジェクト指向/20200626LT

ラクスさんのLT会に参加したときの資料です。

イベントページはこちら。

オブジェクト指向LT会 vol.2
https://rakus.connpass.com/event/178556/

F5afb4ea805825ee7262ba599edb2d5b?s=128

kohei.okamoto

June 26, 2020
Tweet

Transcript

  1. 俺のオブジェクト指向 @ラクスさんオブジェクト指向LT会 vol.2 #ooltjp 2020.06.26 岡本滉平 @okaponta_ 1

  2. 自己紹介 岡本滉平 ・シンプレクス株式会社 ・OOC2020でDDDについて話しました ・最近Qiitaでちょっと話題になりました ・twitter : @koko72_flavor 2

  3. 俺のオブジェクト指向との出会い 3

  4. 俺のオブジェクト指向との出会い 4

  5. 俺のオブジェクト指向との出会い 5

  6. • プログラムド素人 • そもそも頑張って理解したくない 6

  7. 7

  8. 「わかりません!!」 8

  9. 俺のオブジェクト指向との再会(3年後) 9

  10. 俺のオブジェクト指向との再会(3年後) 10

  11. 「ドメインモデル貧血症」 “Anemic Domain Model” 11

  12. ドメインモデル貧血症 12 Anemic domain model is the use of a

    software domain model where the domain objects contain little or no business logic
  13. 俺のオブジェクト指向との再会(3年後) 13 Direction beforeDirection = car.getDirection(); int fuelRemain = car.getFuel();

    if (fuelRemain != 0){ Direction afterDirection = turnRight(beforeDirection); car.setDirection(afterDirection); } ・・・
  14. 俺のオブジェクト指向との再会(3年後) 14 Direction beforeDirection = car.getDirection(); int fuelRemain = car.getFuel();

    if (fuelRemain != 0){ Direction afterDirection = turnRight(beforeDirection); car.setDirection(afterDirection); } ・・・
  15. 俺のオブジェクト指向との再会(3年後) 15 Direction beforeDirection = car.getDirection(); int fuelRemain = car.getFuel();

    if (fuelRemain != 0){ Direction afterDirection = turnRight(beforeDirection); car.setDirection(afterDirection); } ・・・
  16. 俺のオブジェクト指向との再会(3年後) 16 Direction beforeDirection = car.getDirection(); int fuelRemain = car.getFuel();

    if (fuelRemain != 0){ Direction afterDirection = turnRight(beforeDirection); car.setDirection(afterDirection); } ・・・
  17. 俺のオブジェクト指向との再会(3年後) 17 Direction beforeDirection = car.getDirection(); int fuelRemain = car.getFuel();

    if (fuelRemain != 0){ Direction afterDirection = turnRight(beforeDirection); car.setDirection(afterDirection); } ・・・
  18. 俺のオブジェクト指向との再会(3年後) 18 if (car.canMove()){ car.turnRight(); }

  19. 俺のオブジェクト指向との再会(3年後) 19 if (car.hasNoFuel()){ return; } car.turnRight();

  20. 俺のオブジェクト指向との再会(3年後) 20 if(car.hasEnoughFuel()){ car.turnRight(); }

  21. 改めて、オブジェクト指向って 21 1. すべてはオブジェクトである。 2. オブジェクトはメッセージの受け答えによってコミュニケーションする。 3. オブジェクトは自身のメモリーを持つ。 4. どのオブジェクトもクラスのインスタンスであり、クラスもまたオブ

    ジェクトである。 5. クラスはその全インスタンスの為の共有動作を持つ。インスタンスはプ ログラムにおけるオブジェクトの形態である。 6. プログラム実行時は、制御は最初のオブジェクトに渡され、残りはその メッセージとして扱われる。 アラン・ケイ
  22. 俺のオブジェクト指向 22

  23. 「擬人化」 “Personification” 23

  24. 俺のオブジェクト指向 24

  25. 俺のオブジェクト指向 25

  26. ご清聴 ありがとうございました 26