スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

オブジェクト指向って?

プログラミングを勉強するとき、やたらとオブジェクト指向、という言葉が出てきます。PHP、symfonyはもちろんのこと、最近ではCSS(OOCSS)なんかでも聞くようになってきました!
もはやwebを製作するのに切っても切れないものといってもいいと思います。

ですが、なんとなく「モノ中心なんでしょ?」という理解をしている方が多いのでは??と思います。
symfonyを始める前にオブジェクト指向について、本当にざっくり、ですがちょっとおさらいしてみました。
(オブジェクト指向については何冊も専門的な本が出版されているので、詳しく理解したい、という方はそちらを参照してくださいね。)


オブジェクト指向を理解するのに、私がわかりやすいかったのが、オブジェクト指向以前・以後という説明です。

オブジェクト指向以前の開発手法は,ソフトウエアがもつ「機能」に着目しました。最初に全体として実現する機能を定義し,それを細かい機能に分割して考えていくという方法です。

車工場を例に考えてみましょう。
non-objectラボでは、オブジェクト指向ではない、従来のやり方をとっています。
最初に車の設計を行い、その後各機能に分けて制作、最後に合体をします。
2012-01-29-1.png

しかし、このやり方だと、
・再利用が出来ない
・大規模になればなるほど大変
・毎回0から作り直すので、コスト、手間がかさむ
などのデメリットがでてきました。

そこで・・
役割分担を決めておき、その集合としてものをものをつくるという手法に変化したのです。

object-oriented ラボを覗いてみましょう。
2012-01-31-2.png


例えば、タイヤ専門の部署A、シート専門の部署B、ボディー専門の部署C…といった具合です。

こうしておくと、
・色違い・モデル違いの製品を作るときも、0からではなく応用で制作できる
・大規模でも、パーツの組み合わせで
・パーツごとに再利用が効くので、コスト・手間が少なくなる

という具合に、従来の方法のデメリットが解消されたのです!
なーんだこんな簡単なことじゃん、と思われるかもしれませんが、実際に開発するときにコレをじつげんするって大革命だと思いませんか?

これが、オブジェクト指向の基本の基本となる考え方です。
オブジェクト指向は様々なプログラミング言語で用いられており、それぞれ用語の呼び方が違ったりするので混乱することも多いと思いますが、基本となる考え方を頭にいれておくと、理解しやすくなるのでしょうか。


スポンサーサイト
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。