Slide 1

Slide 1 text

メンタルモデルから見るオ ブジェクト指向設計 犬がワンと鳴いて猫がニャーと鳴く話

Slide 2

Slide 2 text

プログラマーにとってのオブジェクト指向? 昔から難しいと言われていました。 いまだに使う理由がわからんとか、オブジェクト指向の時代はもう終わったとかいう人も。 最近はプログラム覚えたときから当たり前にあるものなので。 標準ライブラリがオブジェクト指向なので、覚えないと何もできないんですよね。 結局理由までは理解していないので使いこなせていない人も多い。

Slide 3

Slide 3 text

オブジェクト指向 もともとは子供のため のものですよ。 少なくとも文系分野 のもの。 出典 A Personal Computer for Children of All Ages Alan Kay 1972.

Slide 4

Slide 4 text

オブジェクト指向設計と オブジェクト指向プログラミング オブジェクト指向 設計 オブジェク ト指向プロ グラミング

Slide 5

Slide 5 text

メンタルモデルとUI実装 メンタルモデル ユーザー 商品 カート UI実装 ボタン テキスト ドロップダウンリスト

Slide 6

Slide 6 text

設計 UIを作成する メンタルモデルをオブジェクト指向で実装する メンタルモデルをオブジェクト指向で設計する

Slide 7

Slide 7 text

オブジェクト指向設計 すべてのものはオブジェクト ユーザー 商品 カート

Slide 8

Slide 8 text

注意点 アプリケーションに関係ないもの は設計しなくていいですからね? •設計しなくていいものは、当然オブジェク ト指向設計の範囲外ですよ。

Slide 9

Slide 9 text

オブジェクト指向設計 •クラスやインスタンス にする。 アプリケーションの説 明に出てくるすべて の名詞を全部集める •名詞を主語にとるメ ソッドにする アプリケーションの説 明に出てくるすべtネ オ動詞を全部集める

Slide 10

Slide 10 text

継承を使って整理

Slide 11

Slide 11 text

継承による構造化 生物 動物 脊椎動物 魚類 両生類 爬虫類 鳥類 哺乳類 節足動物 植物 被子植物 裸子植物 菌類 キノコ

Slide 12

Slide 12 text

多重継承 分類すると複数のツリーに出てくる プログラムにしにくいので設計でもあまり使わないほうが良い アプリケーション開発ではそんなには出てこない 必要なら方法はあるので使うが多用はしない

Slide 13

Slide 13 text

まとめ UIではなくメンタルモデルを意識する 日本語で説明する。 出てくるすべての動詞と名詞に着目する 継承を使って、名詞と動詞をツリー上に整理する こうやって設計するとすんなりプログラムにできる