OOP
オブジェクト指向プログラミング
Object-oriented Programming, OOP
動的型付きと共に発展した ref
オブジェクト指向プログラミングの歴史
カプセル化
polymorphism
継承
まとまらない、
ALGOL言語の関数呼び出しのスタックフレームをヒープに移動できること、そのことにより、関数から戻ってきた後でも関数で宣言したローカル変数が存在し続けられることに気づいた。この関数はクラスのコンストラクタになり、ローカル変数はインスタンス変数になった。そして、ネストした関数はメソッドになった。その後、規律のある関数ポインタの使用によって、必然的にポリモーフィズムの発見につながった。 -- Clean Architecture p.50
OOPディス
なぐりがきをするmrsekut.icon*3
/mrsekut-b/オブジェクト指向プログラミングを再考する
いろんな種類の「オブジェクト指向」
参考
オブジェクト指向の概念の発明者は誰ですか?(改訂版) - Smalltalkのtは小文字です
メッセージングのオブジェクト指向
Alan Key
オブジェクトをメッセージを送信する
メッセージ指向
Smalltalkがサポートしているもの
これにインスパイアされたのがActor Model
抽象データ型のオブジェクト指向
カプセル化、継承、polymorphism
クラス指向
prototypeベースのオブジェクト指向
現代ではC++がオブジェクト指向を適切な目的で採用しているほとんど唯一といっていい言語だと思います。ひとことで言ってしまえば、関数型プログラミングの実行コストは高価になりがちなので唯一無二の最速最軽量言語であるC/C++のコンセプトとは相容れず、C++が実行効率に優れるオブジェクト指向を採用するのは合理的な選択だということです。 ref
OOAP
オブジェクト指向分析設計
https://ja.wikipedia.org/wiki/オブジェクト指向分析設計
#??
fieldにリストを持つときは、毎度個別のclassをもう一つ作るのか
add/deleteのmethodを作るか、updateのmethodを作るか
前者の方が利用者側からみて制限が強い
まちがった使い方をしづらい
後者のほうが利用者は分岐なく使える
元の状態を知る必要がない、ただのセットである
参考
『コーディングを支える技術』 11章
もっかいよもう
2021年の「オブジェクト指向」を考える
いろいろな「オブジェクト指向」
あなたのOOPはどれ?
https://hot-heart-cool-mind.hatenablog.com/entry/two-object-orientations
https://ja.wikipedia.org/wiki/オブジェクト指向
https://blog.kokuyouwind.com/archives/1189/
https://qiita.com/akrwtnk/items/699381802982cb753653
カンファレンス
https://speakerdeck.com/nrslib/ooc-keynote-object-oriented-diversity
https://speakerdeck.com/kawakawa/obuziekutozhi-xiang-false-yu-ru-to-shi-su
https://speakerdeck.com/sonatard/coheision-coupling
https://speakerdeck.com/kyonmm/shu-li-de-sisutemushe-ji-bizinesutoji-shu-zhi-yue-wotunagushou-fa-number-ooc-2020-number-ooc-a
https://speakerdeck.com/dnskimo/qi-yue-niyorushe-ji-shi-shi-me
https://little-hands.hatenablog.com/entry/2020/02/17/ooc
https://kdmsnr.com/translations/using-pattern-languages-for-oop/
The Early History Of Smalltalk
https://jp.quora.com/オブジェクト指向とは何ですか/answers/123165842
https://twitter.com/zehnpaard/status/1382330112008392705
https://hot-heart-cool-mind.hatenablog.com/entry/on-the-questions-asking-what-the-object-orientation-is
https://opaupafz2.hatenablog.com/entry/2021/06/12/104719
rustはoop言語でない