Submit Search
オブジェクト指向プログラミング再入門
•
93 likes
•
32,503 views
Ryo Miyake
Follow
1 of 50
Download now
Downloaded 142 times
More Related Content
オブジェクト指向プログラミング再入門
1.
オブジェクト指向 プログラミング再入門 2014.01.08 Kauli tech
talk nekoya
2.
大事なのは、 オブジェクトについて 深く考えること
3.
デザインパターン ! MVC
4.
そういうのはいいから
5.
オブジェクトについて 深く考える
6.
これを心に刻み込もう
7.
オブジェクトとは
8.
オブジェクト データとそれを扱う 操作の集合体
9.
クラス オブジェクトを 定義する抽象
10.
厨二的世界観 物質界 アストラル界 オブジェクト クラス マテリアライズ 物質化 オブジェクト
11.
Pythonのクラス • Pythonのクラスはモジュール変数 • アストラル界に存在するクラスの定義が 物質界に存在する •
物理世界からアストラル体への 干渉および滅ぼすことが可能 • そんなに偉くない
12.
オブジェクト指向 = クラス設計
13.
ではない
14.
クラスはあくまで OOPの一つの要素・側面 ! クラスベースじゃない 言語もある
15.
ぶっちゃけ最初は クラスとか深く考えな くていいんじゃねーの
16.
収集つかなくなるぐらいなら 目の前のオブジェクトに 集中した方がいい
17.
クラス = 抽象 オブジェクト
= 具象
18.
クラス設計とは 具象から抽象を 導き出す行為
19.
最初から抽象を 捉えるのは難しい
20.
まずは具象たる オブジェクトについて 深く考えよう
21.
オブジェクトの責務
22.
難しい話は抜きにして まずはこれ
23.
あるオブジェクトのデータを 他のオブジェクトが利用しない
24.
よくない設計 ! / ̄ ̄\ / _ノ \ |
( ●)(●) | (__人__) | ` ⌒´ノ | } ヽ } ヽ、.,__ __ノ _, 、 -― ''"::l:::::::\ー-..,ノ,、.゙,i 、 /;;;;;;::゙:':、::::::::::::|_:::;、>、_ l|||||゙!:゙、-、_ 丿;;;;;;;;;;;:::::i::::::::::::::/:::::::\゙'' ゙||i l\>::::゙'ー、 . i;;;;;;;;;;;;;;;;;;;;;;|::::::::::::::\::::::::::\ .||||i|::::ヽ::::::|:::! 年齢は? 店員(売る人) ! / ̄ ̄\ / _ノ \ | ( ●)(●) | (__人__) | ` ⌒´ノ | } ヽ } ヽ、.,__ __ノ _, 、 -― ''"::l:::::::\ー-..,ノ,、.゙,i 、 /;;;;;;::゙:':、::::::::::::|_:::;、>、_ l|||||゙!:゙、-、_ 丿;;;;;;;;;;;:::::i::::::::::::::/:::::::\゙'' ゙||i l\>::::゙'ー、 . i;;;;;;;;;;;;;;;;;;;;;;|::::::::::::::\::::::::::\ .||||i|::::ヽ::::::|:::! ____ / \ / ─ ─\ / ,(●) (●)、\ | (__人__) | \ ` ⌒´ / ,,.....イ.ヽヽ、___ ーーノ゙-、. : | '; \_____ ノ.| ヽ i | \/゙(__)\,| i | > ヽ. ハ | || 32歳ですお 客(買う人) 酒買ってよし
25.
よい設計 ! / ̄ ̄\ / _ノ \ |
( ●)(●) | (__人__) | ` ⌒´ノ | } ヽ } ヽ、.,__ __ノ _, 、 -― ''"::l:::::::\ー-..,ノ,、.゙,i 、 /;;;;;;::゙:':、::::::::::::|_:::;、>、_ l|||||゙!:゙、-、_ 丿;;;;;;;;;;;:::::i::::::::::::::/:::::::\゙'' ゙||i l\>::::゙'ー、 . i;;;;;;;;;;;;;;;;;;;;;;|::::::::::::::\::::::::::\ .||||i|::::ヽ::::::|:::! 成人してますか? ____ / \ / ─ ─\ / ,(●) (●)、\ | (__人__) | \ ` ⌒´ / ,,.....イ.ヽヽ、___ ーーノ゙-、. : | '; \_____ ノ.| ヽ i | \/゙(__)\,| i | > ヽ. ハ | || はい ! / ̄ ̄\ / _ノ \ | ( ●)(●) | (__人__) | ` ⌒´ノ | } ヽ } ヽ、.,__ __ノ _, 、 -― ''"::l:::::::\ー-..,ノ,、.゙,i 、 /;;;;;;::゙:':、::::::::::::|_:::;、>、_ l|||||゙!:゙、-、_ 丿;;;;;;;;;;;:::::i::::::::::::::/:::::::\゙'' ゙||i l\>::::゙'ー、 . i;;;;;;;;;;;;;;;;;;;;;;|::::::::::::::\::::::::::\ .||||i|::::ヽ::::::|:::! 酒買ってよし
26.
責務の分散 • オブジェクトは自身の属性を「知っている」 • 他者の属性は「知らない」 •
知っていることについて責務をもつ
27.
よくない設計 属性
____ / \ / ─ ─\ / ,(●) (●)、\ | (__人__) | \ ` ⌒´ / ,,.....イ.ヽヽ、___ ーーノ゙-、. : | '; \_____ ノ.| ヽ i | \/゙(__)\,| i | > ヽ. ハ | || 32歳ですお ! 評価 / ̄ ̄\ / _ノ \ | ( ●)(●) | (__人__) | ` ⌒´ノ | } ヽ } ヽ、.,__ __ノ _, 、 -― ''"::l:::::::\ー-..,ノ,、.゙,i 、 /;;;;;;::゙:':、::::::::::::|_:::;、>、_ l|||||゙!:゙、-、_ 丿;;;;;;;;;;;:::::i::::::::::::::/:::::::\゙'' ゙||i l\>::::゙'ー、 . i;;;;;;;;;;;;;;;;;;;;;;|::::::::::::::\::::::::::\ .||||i|::::ヽ::::::|:::! 酒買ってよし 他者の属性を利用している
28.
現実世界に生きるのがつらい ! / ̄ ̄\ / _ノ \ |
( ●)(●) | (__人__) | ` ⌒´ノ | } ヽ } ヽ、.,__ __ノ _, 、 -― ''"::l:::::::\ー-..,ノ,、.゙,i 、 /;;;;;;::゙:':、::::::::::::|_:::;、>、_ l|||||゙!:゙、-、_ 丿;;;;;;;;;;;:::::i::::::::::::::/:::::::\゙'' ゙||i l\>::::゙'ー、 . i;;;;;;;;;;;;;;;;;;;;;;|::::::::::::::\::::::::::\ .||||i|::::ヽ::::::|:::! 成人してますか? ____ / \ / ─ ─\ / ,(●) (●)、\ | (__人__) | \ ` ⌒´ / ,,.....イ.ヽヽ、___ ーーノ゙-、. : | '; \_____ ノ.| ヽ i | \/゙(__)\,| i | > ヽ. ハ | || はい (18歳だけど ! 心は大人だお…) / ̄ ̄\ / _ノ \ | ( ●)(●) | (__人__) | ` ⌒´ノ | } ヽ } ヽ、.,__ __ノ _, 、 -― ''"::l:::::::\ー-..,ノ,、.゙,i 、 /;;;;;;::゙:':、::::::::::::|_:::;、>、_ l|||||゙!:゙、-、_ 丿;;;;;;;;;;;:::::i::::::::::::::/:::::::\゙'' ゙||i l\>::::゙'ー、 . i;;;;;;;;;;;;;;;;;;;;;;|::::::::::::::\::::::::::\ .||||i|::::ヽ::::::|:::! 酒買ってよし
29.
やらない夫は 悪くないんや!
30.
別の人間に責任を 負わせる場合
31.
店長登場
32.
よくない設計 /ニYニヽ (ヽ /(
゚ )( ゚ )ヽ /) (((i ) /::::⌒`´⌒::::\ ( i))) /∠_| ,-)___(-,|_ゝ \ ( ___、 |-┬-| ,__ ) | `ー'´ /´ | / 年齢は?っていうwww 店長(年齢判断する人) ! / ̄ ̄\ / _ノ \ | ( ●)(●) | (__人__) | ` ⌒´ノ | } ヽ } ヽ、.,__ __ノ _, 、 -― ''"::l:::::::\ー-..,ノ,、.゙,i 、 /;;;;;;::゙:':、::::::::::::|_:::;、>、_ l|||||゙!:゙、-、_ 丿;;;;;;;;;;;:::::i::::::::::::::/:::::::\゙'' ゙||i l\>::::゙'ー、 . i;;;;;;;;;;;;;;;;;;;;;;|::::::::::::::\::::::::::\ .||||i|::::ヽ::::::|:::! 年齢は? 店員(売る人) ! / ̄ ̄\ ____ / \ / ─ ─\ / ,(●) (●)、\ | (__人__) | \ ` ⌒´ / ,,.....イ.ヽヽ、___ ーーノ゙-、. : | '; \_____ ノ.| ヽ i | \/゙(__)\,| i | > ヽ. ハ | || 32歳ですお 客(買う人) / _ノ \ | ( ●)(●) | (__人__) | ` ⌒´ノ | } ヽ } ヽ、.,__ __ノ _, 、 -― ''"::l:::::::\ー-..,ノ,、.゙,i 、 /;;;;;;::゙:':、::::::::::::|_:::;、>、_ l|||||゙!:゙、-、_ 丿;;;;;;;;;;;:::::i::::::::::::::/:::::::\゙'' ゙||i l\>::::゙'ー、 . i;;;;;;;;;;;;;;;;;;;;;;|::::::::::::::\::::::::::\ .||||i|::::ヽ::::::|:::! 32歳だそうです /ニYニヽ (ヽ /( ゚ )( ゚ )ヽ /) (((i ) /::::⌒`´⌒::::\ ( i))) /∠_| ,-)___(-,|_ゝ \ ( ___、 |-┬-| ,__ ) | `ー'´ /´ | / 酒売ってやるっていうwww
33.
よい設計 /ニYニヽ (ヽ /(
゚ )( ゚ )ヽ /) (((i ) /::::⌒`´⌒::::\ ( i))) /∠_| ,-)___(-,|_ゝ \ ( ___、 |-┬-| ,__ ) | `ー'´ /´ | / / ̄ ̄\ / _ノ \ | ( ●)(●) | (__人__) | ` ⌒´ノ | } ヽ } ヽ、.,__ __ノ _, 、 -― ''"::l:::::::\ー-..,ノ,、.゙,i 、 /;;;;;;::゙:':、::::::::::::|_:::;、>、_ l|||||゙!:゙、-、_ 丿;;;;;;;;;;;:::::i::::::::::::::/:::::::\゙'' ゙||i l\>::::゙'ー、 . i;;;;;;;;;;;;;;;;;;;;;;|::::::::::::::\::::::::::\ .||||i|::::ヽ::::::|:::! 客は誰だ?っていうwww ! こいつです /ニYニヽ (ヽ /( ゚ )( ゚ )ヽ /) (((i ) /::::⌒`´⌒::::\ ( i))) /∠_| ,-)___(-,|_ゝ \ ( ___、 |-┬-| ,__ ) | `ー'´ /´ | / ____ / \ / ─ ─\ / ,(●) (●)、\ | (__人__) | \ ` ⌒´ / ,,.....イ.ヽヽ、___ ーーノ゙-、. : | '; \_____ ノ.| ヽ i | \/゙(__)\,| i | > ヽ. ハ | || こいつ 年齢は?っていうwww ____ / \ / ─ ─\ / ,(●) (●)、\ | (__人__) | \ ` ⌒´ / ,,.....イ.ヽヽ、___ ーーノ゙-、. : | '; \_____ ノ.| ヽ i | \/゙(__)\,| i | > ヽ. ハ | || 32歳ですお /ニYニヽ (ヽ /( ゚ )( ゚ )ヽ /) (((i ) /::::⌒`´⌒::::\ ( i))) /∠_| ,-)___(-,|_ゝ \ ( ___、 |-┬-| ,__ ) | `ー'´ /´ | / 酒売ってやるっていうwww
34.
データをひとり歩き させない
35.
よくない設計 /ニYニヽ (ヽ /(
゚ )( ゚ )ヽ /) (((i ) /::::⌒`´⌒::::\ ( i))) /∠_| ,-)___(-,|_ゝ \ ( ___、 |-┬-| ,__ ) | `ー'´ /´ | / 年齢は?っていうwww 店長(年齢判断する人) ! / ̄ ̄\ / _ノ \ | ( ●)(●) | (__人__) | ` ⌒´ノ | } ヽ } ヽ、.,__ __ノ _, 、 -― ''"::l:::::::\ー-..,ノ,、.゙,i 、 /;;;;;;::゙:':、::::::::::::|_:::;、>、_ l|||||゙!:゙、-、_ 丿;;;;;;;;;;;:::::i::::::::::::::/:::::::\゙'' ゙||i l\>::::゙'ー、 . i;;;;;;;;;;;;;;;;;;;;;;|::::::::::::::\::::::::::\ .||||i|::::ヽ::::::|:::! 年齢は? 店員(売る人) ! / ̄ ̄\ 値 / _ノ \ | ( ●)(●) | (__人__) | ` ⌒´ノ | } ヽ } ヽ、.,__ __ノ _, 、 -― ''"::l:::::::\ー-..,ノ,、.゙,i 、 /;;;;;;::゙:':、::::::::::::|_:::;、>、_ l|||||゙!:゙、-、_ 丿;;;;;;;;;;;:::::i::::::::::::::/:::::::\゙'' ゙||i l\>::::゙'ー、 . i;;;;;;;;;;;;;;;;;;;;;;|::::::::::::::\::::::::::\ .||||i|::::ヽ::::::|:::! 属性 ____ / \ / ─ ─\ / ,(●) (●)、\ | (__人__) | \ ` ⌒´ / ,,.....イ.ヽヽ、___ ーーノ゙-、. : | '; \_____ ノ.| ヽ i | \/゙(__)\,| i | > ヽ. ハ | || 32歳ですお 客(買う人) 32歳だそうです /ニYニヽ (ヽ /( ゚ )( ゚ )ヽ /) (((i ) /::::⌒`´⌒::::\ ( i))) /∠_| ,-)___(-,|_ゝ \ ( ___、 |-┬-| ,__ ) | `ー'´ /´ | / 誰も責務を負わない「値」 酒売ってやるっていうwww
36.
オブジェクトから離れた 値はシステムの堅牢性を 低下させる要因となり得る
37.
オブジェクト同士で 対話させる
38.
擬人化は有効な アプローチ(キリッ
39.
今日のおすすめ • http://www.oreilly.co.jp/books/ 9784873113494/ • 紙の本が4,200円 •
オライリーeBookで3,360円 サクサク読めて、実践的な話が多い
40.
以下、余談
41.
パーソナルコンピュータにおける プログラミングの歴史 (加齢臭タイム)
42.
君はBASICを知っているか • 変数は全てグローバル • スコープという概念がそもそもない •
サブルーチン(元に位置に戻れるgoto文) • 戻り値なし • Cは高級言語
43.
プログラム領域とデータ領域 ! 前半部分がプログラム、 後の方にDATA文がずらーっと並ぶ ! ベーマガでよく見たパターンですよね?
44.
新しい知識を 取り込むのをやめた この世代が老害化
45.
クラス? 似たようなサブルーチンを まとめればいいんでしょ?
46.
staticおじさんの 誕生である
47.
日々の勉強を欠かすと _人人 人人_ > 必然の死
<  ̄Y^Y^Y^Y ̄
48.
1970年代にはオブジェクト指向の 考え方は存在していたんですけどね…
49.
知識の更新を 怠るべからず
Download