PHPでOOP (894レス)
PHPでOOP http://medaka.5ch.net/test/read.cgi/php/1172205352/
上
下
前
次
1-
新
通常表示
512バイト分割
レス栞
348: に ◆lKs5QMUHoA [sage] 2008/02/12(火) 18:50:13 ID:??? 確かに私もWebアプリの世界ではOOPの意味は少ないと思う。 指摘にあるように、フローチャートがかけるような処理しかしていないので、 主にPerlやPHPで構造化指向でコーディングするスタイルが流行っているのだと思う。 (PerlやPHPのOOP対応は未だに不十分なところがある) また、ネットにあるサンプルアプリは構造化指向のものが非常に多い事からも、 構造化指向で十分に組めることを意味しているのだと感じる。 通常だと、「だったら、WebアプリをOOPで組む必要ないよね。」となるわけだが、 私がそれでもあえてOOPをやっているのは、その有用性などを自分で体感する形で 確認したいからだ。 大規模なアプリとなると、WebアプリでもOOPを活用して組むことが多いと聞くが、 それは具体的にどのような場面で、どのような有用性があるからなのか。それらを確認したい。 最近は、どうも(Webアプリの世界では)OOPの有用性を見るよりも、 各種フレームワークの有用性を確認した方が良いのでは、と感じている。 http://medaka.5ch.net/test/read.cgi/php/1172205352/348
349: nobodyさん [sage] 2008/02/12(火) 19:23:14 ID:??? > 確かに私もWebアプリの世界ではOOPの意味は少ないと思う。 > 指摘にあるように、フローチャートがかけるような処理しかしていないので、 OOPの意味が少ないの理由がおかしい。 フローチャートがかけるような処理しか”貴方が”していないから 必要ないといっているだけであって、そうではないものはOOPの意味がある。 「Webアプリはフローチャートがかけるような処理」という前提がそもそもおかしい。 > 大規模なアプリとなると、WebアプリでもOOPを活用して組むことが多いと聞くが、 > それは具体的にどのような場面で、どのような有用性があるからなのか。それらを確認したい。 OOPの有効性、そのものがわかってないだけじゃないか? > 最近は、どうも(Webアプリの世界では)OOPの有用性を見るよりも、 > 各種フレームワークの有用性を確認した方が良いのでは、と感じている。 各種フレームワークは、すべて(といって問題ないレベルで)OOPで 作られていることを知らないの? http://medaka.5ch.net/test/read.cgi/php/1172205352/349
350: nobodyさん [sage] 2008/02/12(火) 19:40:22 ID:??? >>349 別にOO的なモデリングをしなくても複雑さが増大しないのであれば、OOを選択するのは技術的な理由ではないでしょ。 前提がおかしいと主張するなら、どうおかしいのか言わないと、それこそ意味がない。 http://medaka.5ch.net/test/read.cgi/php/1172205352/350
351: nobodyさん [sage] 2008/02/12(火) 19:58:37 ID:??? >>349 じゃあ貴方がOOPを教えてあげたら? http://medaka.5ch.net/test/read.cgi/php/1172205352/351
352: nobodyさん [sage] 2008/02/12(火) 20:39:12 ID:??? >>349 どういう利点があんの? http://medaka.5ch.net/test/read.cgi/php/1172205352/352
353: nobodyさん [sage] 2008/02/12(火) 22:43:18 ID:??? クラスを使ってるだけで、オブジェクト指向でも何でもないよ。ウェブフレームワークは。 オブジェクト指向を謳うなら、オブジェクトをシリアライズしてDBやセッションに保存するくらいはしないと。 そんなフレームワークがどれだけある? http://medaka.5ch.net/test/read.cgi/php/1172205352/353
354: nobodyさん [sage] 2008/02/12(火) 22:58:38 ID:??? なんで永続性に拘るんだろ。 http://medaka.5ch.net/test/read.cgi/php/1172205352/354
355: nobodyさん [sage] 2008/02/12(火) 23:01:04 ID:??? なんでオブジェクトに拘るのかってこと。 http://medaka.5ch.net/test/read.cgi/php/1172205352/355
356: nobodyさん [sage] 2008/02/12(火) 23:08:25 ID:??? ウェブアプリで扱うデータのほとんどはRDBMSだけど、RDBMS自体はフラットなデータ構造でまったくオブジェクト指向ではない。 だから、RDBMSからオブジェクトにいったん変換するんだけど、最終的にはHTMLというやはりフラットな構造に戻さないと行けない。 例えばgmailみたいに非常に複雑な処理が要求されるサイトなら、いったんオブジェクトにするのは有効と思うけど、gmailみたいなサイトは例外的。 ほとんどのウェブサイトは、ただDBに入った値を表示するだけでいい。 http://medaka.5ch.net/test/read.cgi/php/1172205352/356
357: nobodyさん [sage] 2008/02/12(火) 23:14:02 ID:??? >>356 あっそ、じゃおまえがオブジェクト使わずに書けばいいだけじゃね? http://medaka.5ch.net/test/read.cgi/php/1172205352/357
358: nobodyさん [sage] 2008/02/12(火) 23:19:02 ID:??? OOプログラミングってのは、OO的にモデリングしたものをプログラミングすることであって、 オブジェクトを使ってプログラミングすることではないでしょ。 これを区別しないのは 「VC++で作ったからオブジェクト指向だ」って言うのと同じ。 http://medaka.5ch.net/test/read.cgi/php/1172205352/358
359: nobodyさん [sage] 2008/02/12(火) 23:28:46 ID:??? >>358 概念じゃなく具体的なコードで説明して下さいお願いします。 http://medaka.5ch.net/test/read.cgi/php/1172205352/359
360: nobodyさん [sage] 2008/02/12(火) 23:37:53 ID:??? そんなんムリ( ゚Д゚) 本でも読んで勉強して。 今まで読んだ本でOOに関して一番良かったのは Booch法:オブジェクト指向分析と設計 なんだけど、 いくら Booch法自体が古いとは言え、こうした本が絶版になってしまっているというのは、なんとも悲しい。 http://medaka.5ch.net/test/read.cgi/php/1172205352/360
361: nobodyさん [sage] 2008/02/12(火) 23:59:12 ID:??? 勉強したい人が集まってるんだから、必要・不必要で論争しなくても……。 http://medaka.5ch.net/test/read.cgi/php/1172205352/361
362: nobodyさん [sage] 2008/02/13(水) 00:22:08 ID:??? >>336だけど話が広がり過ぎて正直びっくりしてる。 別にOOPしてもいいと思うよ。 俺もクラス使うし。 ただWebプログラミングだとクラス使っただけの手続き型プログラムになりがちだから OOPの恩恵に与りにくいんじゃないかなーって思っただけ。 たとえば俺はいまPHPでゲーム組んでるんだけど 普通のゲームプログラムとかだと $char_list[] = new Player(); for($i=0; $i<N; $i++) { $char_list[] = new Enemy(); } while($game_loop) { foreach($char_list as $char) { $char->Move(); $char->CheckHit(); $char->Draw(); } } exit(0); みたいな感じになるけど http://medaka.5ch.net/test/read.cgi/php/1172205352/362
363: nobodyさん [sage] 2008/02/13(水) 00:22:41 ID:??? Webプログラミングだと $buf = DataRead(); $player = new Player(); $player->SetData($buf); $player->Move(); $player->CheckHit(); $player->Draw(); $buf = $player->GetData(); DataWrite($buf); exit(0); みたいなのになりがちじゃん。 http://medaka.5ch.net/test/read.cgi/php/1172205352/363
364: nobodyさん [sage] 2008/02/13(水) 00:23:37 ID:??? それなら DataRead(); PlayerMove(); PlayerCheckHit(); PlayerDraw(); DataWrite(); exit(0); でもいいじゃん的な気がするってだけ。 まぁひとえに俺のプログラミング力不足だと思うけど。 http://medaka.5ch.net/test/read.cgi/php/1172205352/364
365: nobodyさん [sage] 2008/02/13(水) 00:42:03 ID:??? また Booch法から引用すると 「ハンマーを手にする者には世界中の全てのものが釘に 見えるように、オブジェクト指向の考えに染まった開発者は世界中の全てのものがオブジェクトで あると考え出す。この観点は少々無邪気すぎる。」だそうで、若干感情的な議論を呼びやすい テーマではあると思う。 そういえば、同じ様なことが フラクタルとか 1/fゆらぎの本にも書いてあったな。 人間なんてそんなもんだ。 http://medaka.5ch.net/test/read.cgi/php/1172205352/365
366: nobodyさん [sage] 2008/02/13(水) 09:32:28 ID:??? >>360 ・構造化プログラミング三要素 STEP01 順次進行 STEP02 条件分岐 STEP03 繰り返し ・OOプログラミング三要素 STEP04 カプセル化 STEP05 継承 STEP06 ポリモーフィズム WEBデザイナがPHP使ったところでSTEP01止まり、 MS OFFICEのマクロ/VBAもそんな感じだね。 ifやforを使わず延々と処理を記述してるのあるよね。 STEP04で思考を止めちゃ駄目なんだ。 勉強の為に「継承」「ポリモーフィズム」を使った プログラムをあえて書いてみるんだ。 モデリング云々とかそんなの関係ないんだよ。 そもそもここは>>1でしょ? http://medaka.5ch.net/test/read.cgi/php/1172205352/366
367: nobodyさん [sage] 2008/02/13(水) 11:21:35 ID:??? >モデリング云々とかそんなの関係ないんだよ。 思考を止めてるのは誰だよ。 http://medaka.5ch.net/test/read.cgi/php/1172205352/367
上
下
前
次
1-
新
書
関
写
板
覧
索
設
栞
歴
あと 527 レスあります
スレ情報
赤レス抽出
画像レス抽出
歴の未読スレ
AAサムネイル
Google検索
Wikipedia
ぬこの手
ぬこTOP
0.008s