SlideShare a Scribd company logo
2014-07-28 GMOリサーチ 寺田 渉
Facebook: 寺田渉 Twitter: @wa_terada
 オブジェクト指向 って何なのか。
= オブジェクト指向の 読みやすさ に
気づいてもらう。
ボードゲーム翻訳
CakePHP Cookbook翻訳
TED 字幕 翻訳
開発 (PHP/JavaScript/Java/Perl)
抽象化
抽象化 によって
可読性 を上げます
処理と変数を取りまとめる存在
(オブジェクト)を作り、
その存在に【的確な命名】を
行うこと。
処理は数百行あっても、
的確な名前を付けることで、
毎回中身を見なくてもよくする。
これが抽象化。
毎回中身(具象化先)を
見なければならないようなら、
抽象化としては失敗。
オブジェクト指向の
鍵
それなら
関数切り出し
でいいんじゃない?
そうです。
関数切り出しも抽象化の手法。
「関数」だけでなく、
その外側にある「状態」も
あわせて取りまとめる存在を作り、
抽象化して
可読性をあげようとする。
【構造化プログラミング】
処理を
(サブルーチン or 関数して)とりまとめて
抽象化 (=的確な命名)
↓
可読性を上げる
【オブジェクト指向】
変数 とそれに 関連する処理 を
(クラスとして) とりまとめて
抽象化 (=的確な命名)
↓
可読性を上げる
何度もメソッドの中を
見なければいけない事態が
生じているのなら、
オブジェクト指向としては負け。
MVC (フレームワーク) で
開発してると
何度もクラスの中を見るけど
オブジェクト指向 じゃないの?
オブジェクト指向では
ありません!
- 基盤の開発を共有
- 開発スタイルをルール化
することで、開発者によるブレをなくし、
開発効率を上げて安定化させるためにある。
開発者の設計力が十分でなくても
開発可能にするという側面もある。
MVCを使って開発する場合、
可読性や抽象化を意識して
オブジェクト設計しないので、
(それ自体はオブジェクト指向で作られていても)
それを使っての開発は
オブジェクト指向というよりもむしろ
フレームワーク指向と呼ぶべきでしょう。
オブジェクトに抽象化することで
可読性が上がると思ったら
オブジェクト化する
→ オブジェクト指向
ぜひ Facebook 等で
寺田渉 まで
ご連絡ください!!
以上、ありがとうございました。

More Related Content

本当のオブジェクト指向は可読性を上げる