スポンサーサイト

上記の広告は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からではなく応用で制作できる
・大規模でも、パーツの組み合わせで
・パーツごとに再利用が効くので、コスト・手間が少なくなる

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

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


スポンサーサイト

symfonyってなんだろう?

symfonyって?
一言でいうなら、「php向けのwebアプリケーションフレームワーク」といったところでしょうか。
ん??いきなり解りづらいですね。一句ずつ考えていきましょう。

PHP
まずphp、これは読者の皆さんならほとんどのみなさんがよくわかると思いますので省略します。(phpについて、よくわからないという方はGoogle先生に聞いてみるか、↓の本でざっとさらってみることをオススメします。)

初めてのPHP5初めてのPHP5
(2005/10/27)
David Sklar

商品詳細を見る


「webアプリケーション」とは
具体的な例を挙げてみましょう。ショッピングサイト, wikipedia, インターネットショッピング etc.. と言われると大分イメージできるのではないでしょうか? きっと使ったことのあるものばかりですよね!
「webサイト」と何が違うんだろう?という疑問がわくかもしれません。IBM developer Worksの記事によると、webサイトの主体は情報を伝えること、webアプリケーションの主体は対話であるとされています。webアプリケーションにもwebサイトとしての情報を伝達する機能があることには変わりありませんが、ユーザーが積極的にサイトに参加する(twitter、facebookやネットゲームなど)という側面が異なっているのですね。

「フレームワーク」とは
骨組み・土台という意味です。たとえば、一冊の本を作るとして考えてみましょう。
本を作る場合、どんな本でも共通している部分がありますよね?例えば複数のページがまとめられている、表紙・裏表紙・背表紙がある、ISBNを記載する等々・・そういったどんな本にでもある共通の部分を「骨組み」としてまとめてしまい、新しく本を作るときに効率をよくしよう、という考え方です。

こうしてみると、大分分かってきたのではないでしょうか?
分かりやすくまとめると、phpで開発するwebアプリケーションに必要な作業の部分部分を自動化、またはパターン化して効率を良くしてくれるものです。

symfonyの用途?
ここまで解ると、symfonyを使うとどんなサイトが作れるんだろう?というところが気になると思います。
ほかのPHPフレームワークと比べて、symfony大規模なサイトに適していると言われています。たとえば、Yahoo! answersdelicious(ブックマーク共有サイト)、Dailymotionなどのサイトがsymfonyで開発されました。
詳しい比較はこちらをどうぞ。



symfony成り立ちや、紹介しきれなかったsymfonyの機能紹介については、 公式サイトを参考にしてみてくださいね;)

このブログについて

こんにちは:)

大阪でweb制作の仕事をしている24歳です。
働き始めてから、php+symfonyの勉強を始めたのですが・・公式ドキュメントは英語だし、日本語訳は解りづらいし、よくわからない専門用語がでてくるし、、あーもうダメだ・・X(
となってました。
でも、思いました。きっと同じ悩みを持っている人がいるのでは??
そこで、ブログを作成して、勉強の過程をつらつらと書いていくことにしたんです。

PHPもMySQLも初心者だけどsymfonyの勉強を始めた方、PHPはある程度分かるけどフレームワークは使ったこと無い・・という方、
少しでも助けになれば嬉しいです。
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。