ウェブプログラミングで使えるデザインパターン
1nobodyさん
03/11/22 06:56ID:Lh+gL3bz ゲッチューポン
03/11/22 22:25ID:???
こんなスレはシングルトンであって欲しいものだ。
4nobodyさん
03/11/22 22:44ID:LH4aw5t2 とにかくリクエストとレスポンスが一組になる
1パターンリクエストに対し数パターンのレスポンスがあって、他パターンのリクエストと共通だったりする
1パターンリクエストに対し数パターンのレスポンスがあって、他パターンのリクエストと共通だったりする
03/11/23 19:42ID:???
サーブレットは知らんがCGI、PHPあたりだとだいたい
フォームデータ処理
if
エラー表示1
else if
エラー表示2
・・・
else if
処理1
フェーズ1表示
else if
処理2
フェーズ2表示
・・・・
って感じになるな
フォームデータ処理
if
エラー表示1
else if
エラー表示2
・・・
else if
処理1
フェーズ1表示
else if
処理2
フェーズ2表示
・・・・
って感じになるな
03/11/24 15:47ID:???
ここでいうデザインパターンってなんですか?
10nobodyさん
03/11/24 23:53ID:6o1aVvpy GoFに限定しないオブジェクト指向にも限定しない
寧ろウェブプログラミングのためのパターン
寧ろウェブプログラミングのためのパターン
11nobodyさん
03/11/25 17:04ID:??? GOFのどれがWEBプログラミングに使われるんですか?
12nobodyさん
03/11/26 12:58ID:e6YvtpHr PHP関連でそういった事を解説してるサイトなかった?>WEBPrograming/DesignPattern
Stateパターンでログイン・ユーザの認証状態を管理する。etc
コーディングに特化しない話題でもいいなら、
WEB関連&&デザインパターンという事で、こんなサイトも。
http://www.designpattern.lu.unisi.ch/index.htm
Stateパターンでログイン・ユーザの認証状態を管理する。etc
コーディングに特化しない話題でもいいなら、
WEB関連&&デザインパターンという事で、こんなサイトも。
http://www.designpattern.lu.unisi.ch/index.htm
13nobodyさん
03/11/26 13:08ID:??? まずはPerl5やPHPにGoFを翻訳することからはじめるか
Perl5やPHPって継承やインターフェース使えたっけ?
Perl5やPHPって継承やインターフェース使えたっけ?
14nobodyさん
03/11/26 16:20ID:??? http://www.pat.hi-ho.ne.jp/dimension/sample/sample_class_list.shtml
のサイトでもPHPでデザパタしてる。
プログラム板にも初心者向けのデザパタスレがあるから、
デザインパターンって何?って人はそちらも合わせて見るといいかと。
のサイトでもPHPでデザパタしてる。
プログラム板にも初心者向けのデザパタスレがあるから、
デザインパターンって何?って人はそちらも合わせて見るといいかと。
15nobodyさん
03/11/27 00:07ID:0zBWj9/p >>13
GOFの実装例なら、すでに幾つかありますね。
http://www.perldesignpatterns.com/
Perl5 や PHP4 にはインターフェースのための構文は用意されていないので、
(標準では)Javaみたいにインターフェースで定義したメソッドの実装を強制する事は出来ません。
多くのサンプルでは、インターフェース代わりに空メソッドを定義しているだけか、
実行時にメソッドが実装されていなければ終了する。と、いったものが殆んどの様です。
インターフェースを継承したクラスがそのメソッドを実装しているか確認したいのであれば。
perlについては、CPANにコンパイル時にインターフェースをチェックするモジュールがあります。
PHPでは、PHP5からインターフェースが導入されています。
GOFの実装例なら、すでに幾つかありますね。
http://www.perldesignpatterns.com/
Perl5 や PHP4 にはインターフェースのための構文は用意されていないので、
(標準では)Javaみたいにインターフェースで定義したメソッドの実装を強制する事は出来ません。
多くのサンプルでは、インターフェース代わりに空メソッドを定義しているだけか、
実行時にメソッドが実装されていなければ終了する。と、いったものが殆んどの様です。
インターフェースを継承したクラスがそのメソッドを実装しているか確認したいのであれば。
perlについては、CPANにコンパイル時にインターフェースをチェックするモジュールがあります。
PHPでは、PHP5からインターフェースが導入されています。
16nobodyさん
03/11/27 00:41ID:??? ごめん、インターフェースって何?継承とは違うのかい?
17nobodyさん
03/11/27 02:07ID:??? インターフェースは知らんけど継承はわかるのか?
なんじゃそりゃ
なんじゃそりゃ
18nobodyさん
03/11/27 02:15ID:??? ウェブプログラミングじゃあんまGoF通用しないんじゃね?
Perl PHP Rubyじゃインターフェース無いし、GUIもHTML吐いて作るわけだし、
インスタンスを次のセッションで使うのもしんどいじゃん
Perl PHP Rubyじゃインターフェース無いし、GUIもHTML吐いて作るわけだし、
インスタンスを次のセッションで使うのもしんどいじゃん
19nobodyさん
03/11/27 06:30ID:??? >>18
>Perl PHP Rubyじゃインターフェース無いし
プロトタイプベースだからいらんでしょ。アホか。
>GUIもHTML吐いて作るわけだし、
むしろその辺のGUI部品より融通が利くわけだが。
後、J2EEとかASP.NETはWebプログラミングに入らないんですか?
完全無料主義者のあなたの中では。
>Perl PHP Rubyじゃインターフェース無いし
プロトタイプベースだからいらんでしょ。アホか。
>GUIもHTML吐いて作るわけだし、
むしろその辺のGUI部品より融通が利くわけだが。
後、J2EEとかASP.NETはWebプログラミングに入らないんですか?
完全無料主義者のあなたの中では。
21nobodyさん
03/11/27 07:31ID:0zBWj9/p22nobodyさん
03/11/27 08:17ID:0zBWj9/p >>20
一連の処理をひとつのアプリケーションとし、
各処理をそのアプリケーションの状態とみなすと、
Stateパターンを適応できますね。perlのCGI::Application みたいに。
勿論、非オブジェクト指向でも同様の処理は可能です。
ハッシュ等にキーと処理へのポインタを登録し、
与えられたキーの処理を呼び出すといった方法で、冗長な分岐から解放されます。
ところで、ウェブプログラミングで*使える*(eq 有用な?)デザインパターンって、
例えばどんなの?
一連の処理をひとつのアプリケーションとし、
各処理をそのアプリケーションの状態とみなすと、
Stateパターンを適応できますね。perlのCGI::Application みたいに。
勿論、非オブジェクト指向でも同様の処理は可能です。
ハッシュ等にキーと処理へのポインタを登録し、
与えられたキーの処理を呼び出すといった方法で、冗長な分岐から解放されます。
ところで、ウェブプログラミングで*使える*(eq 有用な?)デザインパターンって、
例えばどんなの?
23nobodyさん
03/11/27 08:46ID:8RwaY1jw Webプログラミングの場合、GUIより、モデルやコントローラ周りでの
プログラミングでデザインパターンを多用するケースが多い気が。
結城 浩著書の本は役立ってます。
プログラミングでデザインパターンを多用するケースが多い気が。
結城 浩著書の本は役立ってます。
24nobodyさん
03/11/27 11:23ID:lzQjXivq >>19がなんでそんな必死になるのかわからんし
全然反論になってない
全然反論になってない
25nobodyさん
03/11/27 12:31ID:??? ごめん、クラスの組み合わせがデザインパターン?
つかデザインパターンを易しく説明きぼんぬ。まじで。
つかデザインパターンを易しく説明きぼんぬ。まじで。
26nobodyさん
03/11/27 13:01ID:??? GOFならぐぐればいくらでもでてくる
27nobodyさん
03/11/27 13:58ID:??? Web Service なシステムを作る上でのデザインパターンなら考えられるかも
ConcreteStrategy を一個の CGI として実装して… うーいまいちメリットないな
ConcreteStrategy を一個の CGI として実装して… うーいまいちメリットないな
28nobodyさん
03/11/27 14:15ID:??? フォームデータ処理
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とあんま変わらんな
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とあんま変わらんな
29nobodyさん
03/11/27 16:50ID:??? MVCさいこー。
いや、本気で。
いや、本気で。
レスを投稿する
ニュース
- 「仮に夫婦が落としていても…」5歳児が家族風呂から行方不明、過熱するSNSの“犯人視” 弁護士が警告 [七波羅探題★]
- 明石家さんま、W杯特番対談で日本代表選手を「お前」呼びで物議…自分語り連発の “バラエティノリ” に募る疑問 [王子★]
- 東海道新幹線で「当日出発・翌朝到着」の夜行新幹線8月運行 途中駅で夜間に長時間停車 東京−新大阪を約9時間 [七波羅探題★]
- 「顔が激変した。それが全てだと思った」裁判員が記者会見 内田梨瑚被告への印象語る [パンナ・コッタ★]
- 高市首相と秘書を刑事告発 パー券売り上げなど虚偽記載で 裏帳簿情報も検察に提供 [少考さん★]
- 飲酒運転疑惑の夫婦YouTuber、活動継続を宣言… 「犯罪者に仕立てあげようとしてるお前らの方が逆に犯罪者。かっこ悪いことすんなって」 [冬月記者★]
- 【地上波/DAZNほか】 FIFAワールドカップ2026 総合スレ★145【メキシコ/カナダ/アメリカ】
- 西武線12
- かもめせん
- 【地上波/DAZNほか】 FIFAワールドカップ2026 総合スレ★144【メキシコ/カナダ/アメリカ】
- こいせん 全レス転載禁止
- はません
- 【高市悲報】ウクライナ、日立と東芝に数十億円出せと要求してしまう🥹 [616817505]
- 女の子「抜けなくなっちゃった」←これ
- 高市刑事告訴スレがなんでないんや?
- 【FIFAワールドカップ2026】J組アルゼンチン×オーストリア2:00(DAZN),I組フランス×イラク6:00(DAZN) [226731781]
- 🏡
- 明日元いた部署の可愛い女の子に会いに行って良いか?