$30 off During Our Annual Pro Sale. View Details »

脱オブジェクト指向講座(5分LT資料)

 脱オブジェクト指向講座(5分LT資料)

2022/5/14に開催されたTechFeed Conference 2022の5分LTでの登壇資料です

Naoki Kishida

May 14, 2022
Tweet

More Decks by Naoki Kishida

Other Decks in Programming

Transcript

  1. 2022/05/14
    脱オブジェクト指向講座
    LINE Fukuoka きしだ なおき

    View Slide

  2. 05/14/2022 2
    自己紹介

    きしだ なおき (@kis)

    LINE Fukuoka

    「プロになるJava」デテマス

    今日の話の具体的なコードのせてます

    View Slide

  3. 05/14/2022 3
    「プログラミングの勉強を始めたけどオブジェクト指向わからん」

    始めたばかりでオブジェクト指向なんか気にしなくていい

    そもそもちゃんと処理が書けるようになろう

    オブジェクト指向は30年前のコード整理術

    いまはもっといろんな考え方がある

    むしろいまの考え方にはあっていない

    View Slide

  4. 05/14/2022 4
    オブジェクト指向の特徴

    オブジェクト指向ならではの特徴

    継承によるモジュールの分類

    継承による差分プログラミング

    データと処理をまとめるのはオブジェクト指向固有ではない

    抽象データ型

    オブジェクト指向の役割

    ポリモーフィズムを使った、状態の管理に対する差分プログラミング

    View Slide

  5. 05/14/2022 5
    差分プログラミング

    似たような処理のうち異なる部分を抜き出す

    メソッドは似たような処理のうち共通部分を抜き出す

    CPUが遅くメモリが少ないときは継承が使われていた

    いまはラムダで
    実装するのが手軽

    View Slide

  6. 05/14/2022 6
    アプリケーションの構造

    レイヤー構造

    各レイヤーはステートレス(状態をもたない)

    各レイヤーとの受け渡しは関数的

    データは抽象データ型

    データとそのデータに処理をもつ

    正規化

    表現のバリエーション

    UIにはオブジェクト指向が適切

    しかしHTML(DOM)やWidgetでラップされる

    アプリケーションはイベント処理を関数的に書く

    View Slide

  7. 05/14/2022 7
    まとめ

    コーディングテクニックとして関数型がつかえる

    差分プログラミングのためにオブジェクトの多態で難しい構造を作ら
    なくてよい

    デザインパターンもほとんど不要

    ラムダの使えないC++でラムダをやる方法をシチュエーション別にまとめたもの

    アプリケーション構造も関数的になる

    データは抽象データとして考える

    データとまとめる処理は正規化と表現のバリエーション

    他のオブジェクトとやりとりしない

    そもそも処理が書けるようになってから

    View Slide