ウェブプログラミングで使えるデザインパターン (170レス)
ウェブプログラミングで使えるデザインパターン http://medaka.5ch.net/test/read.cgi/php/1069451782/
上
下
前
次
1-
新
通常表示
512バイト分割
レス栞
99: nobodyさん [] 03/12/26 13:59 ID:5BZ0FoxA >>96 ファイル周りで、こういう処理にはこういうパターンがいいよ、みたいのある? 趣味でCGIスクリプト作ってるけど結局ファイル入出力が処理の中心で、 ここをシンプルに書ければだいぶ綺麗になるんだけどなぁ。 http://medaka.5ch.net/test/read.cgi/php/1069451782/99
100: nobodyさん [sage] 03/12/26 23:27 ID:??? >>99 >>60 後、今、RubyとXML使って汎用的なCGI向きなファイルシステム書いてます。 http://medaka.5ch.net/test/read.cgi/php/1069451782/100
101: nobodyさん [sage] 03/12/26 23:57 ID:??? だれか >ファイルとかDBとかを同じメソッドで >アクセスできるようにするためのラッパクラス。 これ作ってください。 http://medaka.5ch.net/test/read.cgi/php/1069451782/101
102: ヽ(´ー`)ノ [sage] 03/12/27 04:55 ID:??? > だれか > >ファイルとかDBとかを同じメソッドで > >アクセスできるようにするためのラッパクラス。 > これ作ってください。 Perl の DBI に当たるクラスって Ruby には無いの? http://medaka.5ch.net/test/read.cgi/php/1069451782/102
103: 100 [sage] 03/12/27 09:14 ID:??? >>102 アルみたいですな。知らなんだ。 ちょっと興味があるんですが、データをCSVとかXMLに落としてくれるドライバって存在するんですか? http://medaka.5ch.net/test/read.cgi/php/1069451782/103
104: nobodyさん [sage] 03/12/27 22:23 ID:??? Ruby/DBI http://ruby-dbi.sourceforge.net/ http://medaka.5ch.net/test/read.cgi/php/1069451782/104
105: nobodyさん [] 04/01/03 11:48 ID:2WhaiS3p Bridgeパターン http://www.lyricfathom.com/pukiwiki/pukiwiki.php?Web%A5%A2%A5%D7%A5%EA%A5%B1%A1%BC%A5%B7%A5%E7%A5%F3%A4%C7%A4%CEBridge%A5%D1%A5%BF%A1%BC%A5%F3 http://medaka.5ch.net/test/read.cgi/php/1069451782/105
106: nobodyさん [] 04/01/03 14:16 ID:/y0BIE8s PHPのパターンならここが有名でしょうね。 http://www.phppatterns.com/ http://medaka.5ch.net/test/read.cgi/php/1069451782/106
107: nobodyさん [sage] 04/01/05 19:45 ID:??? PHP、言語として機能が足りてないからデザパタに向いてないよ。 典型的な例が Singleton。 http://medaka.5ch.net/test/read.cgi/php/1069451782/107
108: nobodyさん [sage] 04/01/05 20:23 ID:??? $a = NULL; function GetSameObject(){ global $a; if($a == NULL){ $a = new SameObject(); } return $a; } http://medaka.5ch.net/test/read.cgi/php/1069451782/108
109: nobodyさん [sage] 04/01/07 09:41 ID:??? >>108 だから、そういう小汚いコード書かなきゃイカンから言語として機能が足りてないんだろ。 PHP5 だと static あるから Singleton は書けるようになるが…それでもどうかと思う。 http://medaka.5ch.net/test/read.cgi/php/1069451782/109
110: nobodyさん [sage] 04/01/07 18:00 ID:??? >>109 PEAR パッケージでよく使われてますが、 PHP4 でも普通に書けますよ。 class Hoge { function &singleton() { static $instance; if (!isset($instance)) { $instance = new Hoge; // $instance = HogeHoge::factory; } return $instance; } $instance = &Hoge::singleton(); http://medaka.5ch.net/test/read.cgi/php/1069451782/110
111: 107 [sage] 04/01/08 05:49 ID:??? >>110 >>109 の言う「小汚い」部類じゃないかね、そのコードは。 クラス内唯一のインスタンスなんだから、論理的に言えばクラスが static 変数として持つべきだろう。 > PHP5 だと static あるから Singleton は書けるようになるが と言っている時点で >>109 の言いたい事は自明だと思うんだが…。あんた大丈夫か? PEAR のコードや Do You PHP にあるデザインパターンのサンプルでも良く見掛けるが、 PHP4 自体の機能が足りずに他の言語ではしなくていいような事をしている点がいくつもある。 少くとも俺は PHP はオススメしない。 http://medaka.5ch.net/test/read.cgi/php/1069451782/111
112: nobodyさん [sage] 04/01/08 06:38 ID:??? >>111 デザパタの本の「はじめに」とか「概要」を読み直すことを推奨。 http://medaka.5ch.net/test/read.cgi/php/1069451782/112
113: nobodyさん [sage] 04/01/08 06:44 ID:??? >>111 てことはCはダメ言語でerronoなんて使ってるunixは目も当てられないって事になるのだろうか。 そんなことだからいつまでもプログラマ + Web特化なんだな。 http://medaka.5ch.net/test/read.cgi/php/1069451782/113
114: nobodyさん [sage] 04/01/08 06:47 ID:??? まぁ C はダメ言語だろうな。 http://medaka.5ch.net/test/read.cgi/php/1069451782/114
115: nobodyさん [sage] 04/01/08 08:32 ID:??? >>110 クラス・メソッドを使わずnewすると普通に別のインスタンス作成出来るよね? http://medaka.5ch.net/test/read.cgi/php/1069451782/115
116: 110 [sage] 04/01/08 09:17 ID:??? >>115 できますよ。 言語特性や制限はありますが PHP や Perl では Private メソッドも含めてそういう ものは書く側が慣習的に守るというだけのことです。 111 さんがいうようなことも 当然ありますけど、だからといってその言語の利点があるわけですから使い分けるの が良いというだけの話でしょう。 http://medaka.5ch.net/test/read.cgi/php/1069451782/116
117: nobodyさん [sage] 04/01/08 14:14 ID:??? そうだなあ、singleton という、 コンストラクタの実装とクラス変数に大きく依存するパターンは、 PHP の言語仕様とインピーダンスミスマッチが大きい、ということは言えそうに思う。 ただ、GoFパターン全部がそういうわけではなく、 むしろ singleton が例外的だとも言える。 つか、そもそも singleton ってウェブプログラミングで使う? まあ、singleton 以外のパターンも今のところウェブプログラミングでの使い道が あまり見つかってないようではあるが。 しかし、ぱっとすぐ思いつかないが、 singleton 以外でも PHP が向かないパターンはありそうな感じではある。 >>107 への宿題として、 singleton 以外で PHP が向いていないと思われるパターンを提出せよ。 「ウェブプログラミングで使える」というスレの趣旨を満たすとモアベターだが、 さすがにそこまでは難しいか。 http://medaka.5ch.net/test/read.cgi/php/1069451782/117
118: nobodyさん [sage] 04/01/08 20:51 ID:??? >>116 一応、慣習や暗黙の了解みたいなのは理解しています。が、 言語としての機能が足りていない部分という論点に関して言えば、コードの奇麗汚いではなくて singletonパターンの条件を完全に満たす事が出来ない点じゃないかな。と思った。 >>117 例:データベースへ接続するクラスをSingletonにする。 ウェブプログラミングでもアプリケーションサーバ等フレームワークにはよく使われてるよ。 http://medaka.5ch.net/test/read.cgi/php/1069451782/118
メモ帳
(0/65535文字)
上
下
前
次
1-
新
書
関
写
板
覧
索
設
栞
歴
あと 52 レスあります
スレ情報
赤レス抽出
画像レス抽出
歴の未読スレ
AAサムネイル
Google検索
Wikipedia
ぬこの手
ぬこTOP
0.018s