2022/5/14に開催されたTechFeed Conference 2022の5分LTでの登壇資料です
2022/05/14脱オブジェクト指向講座LINE Fukuoka きしだ なおき
View Slide
05/14/2022 2自己紹介●きしだ なおき (@kis)●LINE Fukuoka●「プロになるJava」デテマス●今日の話の具体的なコードのせてます
05/14/2022 3「プログラミングの勉強を始めたけどオブジェクト指向わからん」●始めたばかりでオブジェクト指向なんか気にしなくていい●そもそもちゃんと処理が書けるようになろう●オブジェクト指向は30年前のコード整理術●いまはもっといろんな考え方がある●むしろいまの考え方にはあっていない
05/14/2022 4オブジェクト指向の特徴●オブジェクト指向ならではの特徴●継承によるモジュールの分類●継承による差分プログラミング●データと処理をまとめるのはオブジェクト指向固有ではない●抽象データ型●オブジェクト指向の役割●ポリモーフィズムを使った、状態の管理に対する差分プログラミング
05/14/2022 5差分プログラミング●似たような処理のうち異なる部分を抜き出す●メソッドは似たような処理のうち共通部分を抜き出す●CPUが遅くメモリが少ないときは継承が使われていた●いまはラムダで実装するのが手軽
05/14/2022 6アプリケーションの構造●レイヤー構造●各レイヤーはステートレス(状態をもたない)●各レイヤーとの受け渡しは関数的●データは抽象データ型●データとそのデータに処理をもつ●正規化●表現のバリエーション●UIにはオブジェクト指向が適切●しかしHTML(DOM)やWidgetでラップされる●アプリケーションはイベント処理を関数的に書く
05/14/2022 7まとめ●コーディングテクニックとして関数型がつかえる●差分プログラミングのためにオブジェクトの多態で難しい構造を作らなくてよい●デザインパターンもほとんど不要●ラムダの使えないC++でラムダをやる方法をシチュエーション別にまとめたもの●アプリケーション構造も関数的になる●データは抽象データとして考える●データとまとめる処理は正規化と表現のバリエーション●他のオブジェクトとやりとりしない●そもそも処理が書けるようになってから