ウェブプログラミングで使えるデザインパターン (170レス)
ウェブプログラミングで使えるデザインパターン http://medaka.5ch.net/test/read.cgi/php/1069451782/
上
下
前
次
1-
新
通常表示
512バイト分割
レス栞
1: nobodyさん [] 03/11/22 06:56 ID:Lh+gL3bz ゲッチューポン http://medaka.5ch.net/test/read.cgi/php/1069451782/1
2: nobodyさん [sage] 03/11/22 11:16 ID:??? 結構良スレっぽいスレタイなのに、>>1がクソで萎え http://medaka.5ch.net/test/read.cgi/php/1069451782/2
3: nobodyさん [sage] 03/11/22 22:25 ID:??? こんなスレはシングルトンであって欲しいものだ。 http://medaka.5ch.net/test/read.cgi/php/1069451782/3
4: nobodyさん [] 03/11/22 22:44 ID:LH4aw5t2 とにかくリクエストとレスポンスが一組になる 1パターンリクエストに対し数パターンのレスポンスがあって、他パターンのリクエストと共通だったりする http://medaka.5ch.net/test/read.cgi/php/1069451782/4
5: nobodyさん [sage] 03/11/22 23:15 ID:??? >>4 で? http://medaka.5ch.net/test/read.cgi/php/1069451782/5
6: nobodyさん [sage] 03/11/23 19:42 ID:??? サーブレットは知らんがCGI、PHPあたりだとだいたい フォームデータ処理 if エラー表示1 else if エラー表示2 ・・・ else if 処理1 フェーズ1表示 else if 処理2 フェーズ2表示 ・・・・ って感じになるな http://medaka.5ch.net/test/read.cgi/php/1069451782/6
7: nobodyさん [sage] 03/11/23 21:40 ID:??? >>6 えと、>>1はGoF辺りのデザパタを聞きたいんではないかと。 後、それダサい。 http://medaka.5ch.net/test/read.cgi/php/1069451782/7
8: nobodyさん [sage] 03/11/23 22:36 ID:??? >>7 だって>>6=>>1だもん じゃあカコイイやつカモン http://medaka.5ch.net/test/read.cgi/php/1069451782/8
9: nobodyさん [sage] 03/11/24 15:47 ID:??? ここでいうデザインパターンってなんですか? http://medaka.5ch.net/test/read.cgi/php/1069451782/9
10: nobodyさん [] 03/11/24 23:53 ID:6o1aVvpy GoFに限定しないオブジェクト指向にも限定しない 寧ろウェブプログラミングのためのパターン http://medaka.5ch.net/test/read.cgi/php/1069451782/10
11: nobodyさん [sage] 03/11/25 17:04 ID:??? GOFのどれがWEBプログラミングに使われるんですか? http://medaka.5ch.net/test/read.cgi/php/1069451782/11
12: nobodyさん [] 03/11/26 12:58 ID:e6YvtpHr PHP関連でそういった事を解説してるサイトなかった?>WEBPrograming/DesignPattern Stateパターンでログイン・ユーザの認証状態を管理する。etc コーディングに特化しない話題でもいいなら、 WEB関連&&デザインパターンという事で、こんなサイトも。 http://www.designpattern.lu.unisi.ch/index.htm http://medaka.5ch.net/test/read.cgi/php/1069451782/12
13: nobodyさん [sage] 03/11/26 13:08 ID:??? まずはPerl5やPHPにGoFを翻訳することからはじめるか Perl5やPHPって継承やインターフェース使えたっけ? http://medaka.5ch.net/test/read.cgi/php/1069451782/13
14: nobodyさん [sage] 03/11/26 16:20 ID:??? http://www.pat.hi-ho.ne.jp/dimension/sample/sample_class_list.shtml のサイトでもPHPでデザパタしてる。 プログラム板にも初心者向けのデザパタスレがあるから、 デザインパターンって何?って人はそちらも合わせて見るといいかと。 http://medaka.5ch.net/test/read.cgi/php/1069451782/14
15: nobodyさん [] 03/11/27 00:07 ID:0zBWj9/p >>13 GOFの実装例なら、すでに幾つかありますね。 http://www.perldesignpatterns.com/ Perl5 や PHP4 にはインターフェースのための構文は用意されていないので、 (標準では)Javaみたいにインターフェースで定義したメソッドの実装を強制する事は出来ません。 多くのサンプルでは、インターフェース代わりに空メソッドを定義しているだけか、 実行時にメソッドが実装されていなければ終了する。と、いったものが殆んどの様です。 インターフェースを継承したクラスがそのメソッドを実装しているか確認したいのであれば。 perlについては、CPANにコンパイル時にインターフェースをチェックするモジュールがあります。 PHPでは、PHP5からインターフェースが導入されています。 http://medaka.5ch.net/test/read.cgi/php/1069451782/15
16: nobodyさん [sage] 03/11/27 00:41 ID:??? ごめん、インターフェースって何?継承とは違うのかい? http://medaka.5ch.net/test/read.cgi/php/1069451782/16
17: nobodyさん [sage] 03/11/27 02:07 ID:??? インターフェースは知らんけど継承はわかるのか? なんじゃそりゃ http://medaka.5ch.net/test/read.cgi/php/1069451782/17
18: nobodyさん [sage] 03/11/27 02:15 ID:??? ウェブプログラミングじゃあんまGoF通用しないんじゃね? Perl PHP Rubyじゃインターフェース無いし、GUIもHTML吐いて作るわけだし、 インスタンスを次のセッションで使うのもしんどいじゃん http://medaka.5ch.net/test/read.cgi/php/1069451782/18
19: nobodyさん [sage] 03/11/27 06:30 ID:??? >>18 >Perl PHP Rubyじゃインターフェース無いし プロトタイプベースだからいらんでしょ。アホか。 >GUIもHTML吐いて作るわけだし、 むしろその辺のGUI部品より融通が利くわけだが。 後、J2EEとかASP.NETはWebプログラミングに入らないんですか? 完全無料主義者のあなたの中では。 http://medaka.5ch.net/test/read.cgi/php/1069451782/19
20: nobodyさん [sage] 03/11/27 07:30 ID:??? オブジェクト指向が必要なほど大規模になることもなく やっぱり>>6みたいなものになっちまうのか >>6を汎用的に書ければいいんだけど http://medaka.5ch.net/test/read.cgi/php/1069451782/20
21: nobodyさん [] 03/11/27 07:31 ID:0zBWj9/p >>18 オブジェクトの永続化について調べてみるといいかも。 PHPなんかでは、普通にセッションにオブジェクトを格納出来るよ。 http://medaka.5ch.net/test/read.cgi/php/1069451782/21
22: nobodyさん [] 03/11/27 08:17 ID:0zBWj9/p >>20 一連の処理をひとつのアプリケーションとし、 各処理をそのアプリケーションの状態とみなすと、 Stateパターンを適応できますね。perlのCGI::Application みたいに。 勿論、非オブジェクト指向でも同様の処理は可能です。 ハッシュ等にキーと処理へのポインタを登録し、 与えられたキーの処理を呼び出すといった方法で、冗長な分岐から解放されます。 ところで、ウェブプログラミングで*使える*(eq 有用な?)デザインパターンって、 例えばどんなの? http://medaka.5ch.net/test/read.cgi/php/1069451782/22
23: nobodyさん [] 03/11/27 08:46 ID:8RwaY1jw Webプログラミングの場合、GUIより、モデルやコントローラ周りでの プログラミングでデザインパターンを多用するケースが多い気が。 結城 浩著書の本は役立ってます。 http://medaka.5ch.net/test/read.cgi/php/1069451782/23
24: nobodyさん [] 03/11/27 11:23 ID:lzQjXivq >>19がなんでそんな必死になるのかわからんし 全然反論になってない http://medaka.5ch.net/test/read.cgi/php/1069451782/24
25: nobodyさん [sage] 03/11/27 12:31 ID:??? ごめん、クラスの組み合わせがデザインパターン? つかデザインパターンを易しく説明きぼんぬ。まじで。 http://medaka.5ch.net/test/read.cgi/php/1069451782/25
26: nobodyさん [sage] 03/11/27 13:01 ID:??? GOFならぐぐればいくらでもでてくる http://medaka.5ch.net/test/read.cgi/php/1069451782/26
27: nobodyさん [sage] 03/11/27 13:58 ID:??? Web Service なシステムを作る上でのデザインパターンなら考えられるかも ConcreteStrategy を一個の CGI として実装して… うーいまいちメリットないな http://medaka.5ch.net/test/read.cgi/php/1069451782/27
28: nobodyさん [sage] 03/11/27 14:15 ID:??? フォームデータ処理 if obj=new Hoge(query); else if obj=new Piyo(query); else if obj=new Foo(query); else if obj=new Bar(query); ・・・・ obj.proc >>6とあんま変わらんな http://medaka.5ch.net/test/read.cgi/php/1069451782/28
29: nobodyさん [sage] 03/11/27 16:50 ID:??? MVCさいこー。 いや、本気で。 http://medaka.5ch.net/test/read.cgi/php/1069451782/29
30: nobodyさん [sage] 03/11/27 17:03 ID:??? テンプレート使えばモデルとビューは分離できるな http://medaka.5ch.net/test/read.cgi/php/1069451782/30
31: nobodyさん [] 03/11/27 22:02 ID:0zBWj9/p >>25 オブジェクト指向にクラスが必須ではないのと同じくらい、 デザインパターンにオブジェクト指向が必須という訳ではないと思う。(私見) オブジェクト指向以外でも応用することが出来ます。 >>28 >>22 の方法、伝わらなかったかな。サンプルこんな感じです。 use CGI; my $query = new CGI; my $app = new App( func1 => \$func1, func2 => \&func2, func3 => \&func3 ); $app->exec($query->param('mode'), $query); sub func1 { my ($query) = @_; print "func1\n"; } sub func2 { my ($query) = @_; print "func2\n"; } sub func3 { my ($query) = @_; print "func3\n"; } package App; sub new { my ($class, %menu) = @_; bless({menu => \%menu}, $class); } sub exec { my ($self, $key, @args) = @_; if (ref $self->{menu}->{$ket} eq 'CODE') { &{$self->{menu}->{$key}}(@args); } } http://medaka.5ch.net/test/read.cgi/php/1069451782/31
32: nobodyさん [] 03/11/27 22:15 ID:0zBWj9/p >> 23 アプリケーションサーバや、フレームワーク内でなら使われてる例は多いよね。GOFに限らず。 うーん、OOP/GOF な話題がメインなのかな、ここ? WEBパターンとかの話題はスレor板違い? http://www.c2.com/cgi/wiki?WebsitePatterns http://medaka.5ch.net/test/read.cgi/php/1069451782/32
33: nobodyさん [sage] 03/11/27 22:29 ID:??? >>31 非オブジェクト指向言語でオブジェクト指向ごっこしたら大体は破綻するけどね。 言語もパターンも使いよう。 あんたの実力はソースコードレビューではなく客先試験で発揮して下さいよって感じになりかねない。 http://medaka.5ch.net/test/read.cgi/php/1069451782/33
34: nobodyさん [sage] 03/11/27 23:54 ID:??? 25です。 >>31 ますます分からなくなりました。 これって特殊な例じゃない? http://medaka.5ch.net/test/read.cgi/php/1069451782/34
35: nobodyさん [sage] 03/11/28 00:49 ID:??? >>34 だからぐぐれよ 解説サイトいくらでもあるだろ それか本かって読め http://medaka.5ch.net/test/read.cgi/php/1069451782/35
36: nobodyさん [sage] 03/11/28 02:36 ID:??? >>34 だからぐぐれよ 解説サイトいくらでもあるだろ それか本かって読め だってよ。(w http://medaka.5ch.net/test/read.cgi/php/1069451782/36
37: nobodyさん [sage] 03/11/28 06:43 ID:??? >>34 だからぐぐれよ 解説サイトいくらでもあるだろ それか本かって読め だってよ。(w だってよ。(w http://medaka.5ch.net/test/read.cgi/php/1069451782/37
38: nobodyさん [sage] 03/11/28 07:55 ID:??? PEARのソースコードは デザパの勉強なるよ http://medaka.5ch.net/test/read.cgi/php/1069451782/38
39: nobodyさん [sage] 03/11/28 09:25 ID:??? >>35-37みたいなのはプロトタイプパターンなのかな http://medaka.5ch.net/test/read.cgi/php/1069451782/39
40: nobodyさん [sage] 03/11/28 10:57 ID:??? いまだに(wとか使う奴いるんだな・・・ http://medaka.5ch.net/test/read.cgi/php/1069451782/40
41: nobodyさん [sage] 03/11/28 12:33 ID:??? (w http://medaka.5ch.net/test/read.cgi/php/1069451782/41
42: nobodyさん [] 03/11/28 17:57 ID:9mFpNgVw ごめん、混乱させるような事言っちゃたかな。>25 http://www.hyuki.com/dp/dpfaq.html DesignPatterns FAQ日本語訳 パターンとは、あるコンテキスト(状況・背景)上の問題に対する一つの解決策。 繰返し発生するコンテキストは、フォームデータ処理などで発生する if else の条件分岐 like >6 >28 問題は、条件分岐の文にbugが混入しやすい事 解決策の一つは、>22 冗長な分岐を排除する。 これなら、オブジェクト指向でなくとも、ハッシュの様なデータ構造さえ使えれば適用できるでしょう? これだけでは不十分で、これ以外にもこのパターンはどう言った時に適用すると良いとか、 適用した場合にどういった状況になるか、他に考慮するべき事もパターンに記述されます。 詳しくはパターン・ランゲージについて調べてみて。 "パターン"が理解出来たら、デザインパターンはすぐ理解出来ると思う。でも 単純に、すべてのクラスの組合せがデザインパターンと呼ばれるわけではない。(FAQにもそう書かれている) "パターン"として有益な情報に成り得るのは、特定の条件の元の問題に対して。 組合せを指して"パターン"と呼んでいるのではないので。 デザインパターンの考え方は、オブジェクト指向をサポートしていない言語にとっても有用だと思う。 別に非OOP言語でのOOを推奨しているわけではないよ。>18 >19 >24 に対するフォローのつもり。>32 http://medaka.5ch.net/test/read.cgi/php/1069451782/42
43: nobodyさん [sage] 03/11/28 19:07 ID:??? コソーリとデザインパターンって何と聞いていいですか http://medaka.5ch.net/test/read.cgi/php/1069451782/43
44: nobodyさん [sage] 03/11/29 13:48 ID:??? >>38 phpにおいて、というならまぁそうなのかもな。 リファクタリングされてないようなのがいっぱいあるけど。 なんか重いし、無駄が多いし、好きになれない http://medaka.5ch.net/test/read.cgi/php/1069451782/44
45: nobodyさん [sage] 03/11/29 21:36 ID:??? >>44 >リファクタリングされてないようなのがいっぱいあるけど。 は再利用の際の技であり成果物にわざわざ適用しても仕方ないのでは? http://medaka.5ch.net/test/read.cgi/php/1069451782/45
46: nobodyさん [sage] 03/11/29 22:56 ID:??? >>44 実運用で使うようなモジュールはだいたい限られてるし、 そういうモジュールはよくメンテされてて 実用的で使えるのは結構あると思うけど。 ライブラリからリファクタリングしないと 重かったりして困るようなパフォーマンス命な 仕事なんてやったこと無いので そういう時に使うべきかどうかというのは 判断が必要かもしれないけど http://medaka.5ch.net/test/read.cgi/php/1069451782/46
47: nobodyさん [sage] 03/11/29 23:21 ID:??? >>46 だな。 なんらかのライブラリ群や、フレームワークを使ったとき、 ハード資源消費量は、無駄な機能の占める割合が高かったりするもんな。 それでも、漏れらは使うのさ。 信頼性のあるライブラリだし、開発コストが下がるから。 客から動作がにぶくなってきたって、言われたら、 「分散しましょう!サバ増やしましょう!お任せ下さい!」ってな感じで対応。 宇摩ー。 http://medaka.5ch.net/test/read.cgi/php/1069451782/47
48: nobodyさん [sage] 03/11/29 23:53 ID:??? >>47 自作自演。 http://medaka.5ch.net/test/read.cgi/php/1069451782/48
49: nobodyさん [] 03/11/30 00:32 ID:Fs/0s5IP >>31よりもっと使えるやつカモン 実際modeで分離なんて簡単にはいかない http://medaka.5ch.net/test/read.cgi/php/1069451782/49
50: 46 [sage] 03/11/30 00:35 ID:??? >>48 してないっす >>49 Webで現実的な問題はやっぱり時間 金銭的なコストというよりも時間のコストが 惜しいケースが多い (もちろんそれが金銭的なコストにも 繋がってくるのはそうなのだろうけど) PHPは大規模なwebアプリにも通用するとは思うけど 確かにフレームワーク的なものは発展中 だからこそPEARがその役割を担っていくと考えてる PHP5ではよりPEARの役目は大きくなると思う http://medaka.5ch.net/test/read.cgi/php/1069451782/50
51: nobodyさん [sage] 03/11/30 00:43 ID:??? >>50 PHPで大規模システムって無謀だと思う。 http://medaka.5ch.net/test/read.cgi/php/1069451782/51
52: nobodyさん [sage] 03/11/30 00:57 ID:??? >>49 commandパターンで実装 >>50 モノにもよるんじゃない パフォーマンスも求められるものはキツいかもしれないが ただ単に規模だけが大きいんなら PHPでも十分メンテナンスしやすい 再利用性そこそこのもんはちゃんと作れると思う http://medaka.5ch.net/test/read.cgi/php/1069451782/52
53: nobodyさん [sage] 03/11/30 01:17 ID:??? >>52 commandパターンがどう使えるのかぜんぜんわかんね http://medaka.5ch.net/test/read.cgi/php/1069451782/53
54: nobodyさん [sage] 03/11/30 01:33 ID:??? >>46 リファクタリングの目的はパフォーマンスを多少犠牲にしても メンテしやすいコードを作ることだよ。 http://medaka.5ch.net/test/read.cgi/php/1069451782/54
55: nobodyさん [] 03/11/30 01:49 ID:ENFs/Hl7 >>53 じゃあ使わんでいいよ、それだけのもんだ なんで使えるのかなんで使うと得するのか 調べるコストをかけれないなら 最初から使わないのも選択のひとつ http://medaka.5ch.net/test/read.cgi/php/1069451782/55
メモ帳
(0/65535文字)
上
下
前
次
1-
新
書
関
写
板
覧
索
設
栞
歴
あと 115 レスあります
スレ情報
赤レス抽出
画像レス抽出
歴の未読スレ
AAサムネイル
Google検索
Wikipedia
ぬこの手
ぬこTOP
0.013s