ウェブプログラミングで使えるデザインパターン (170レス)
1-

98: 03/12/23 10:20 ID:??? AAS
>>97
再利用生が抜けてるよ。
99
(1): 03/12/26 13:59 ID:5BZ0FoxA(1) AAS
>>96
ファイル周りで、こういう処理にはこういうパターンがいいよ、みたいのある?
趣味でCGIスクリプト作ってるけど結局ファイル入出力が処理の中心で、
ここをシンプルに書ければだいぶ綺麗になるんだけどなぁ。
100
(1): 03/12/26 23:27 ID:??? AAS
>>99

>>60

後、今、RubyとXML使って汎用的なCGI向きなファイルシステム書いてます。
101: 03/12/26 23:57 ID:??? AAS
だれか
>ファイルとかDBとかを同じメソッドで
>アクセスできるようにするためのラッパクラス。
これ作ってください。
102
(1): ヽ(´ー`)ノ 03/12/27 04:55 ID:??? AAS
> だれか
> >ファイルとかDBとかを同じメソッドで
> >アクセスできるようにするためのラッパクラス。
> これ作ってください。
Perl の DBI に当たるクラスって Ruby には無いの?
103: 100 03/12/27 09:14 ID:??? AAS
>>102
アルみたいですな。知らなんだ。
ちょっと興味があるんですが、データをCSVとかXMLに落としてくれるドライバって存在するんですか?
104: 03/12/27 22:23 ID:??? AAS
Ruby/DBI 外部リンク:ruby-dbi.sourceforge.net
105: 04/01/03 11:48 ID:2WhaiS3p(1) AAS
Bridgeパターン
外部リンク[php]:www.lyricfathom.com
106: 04/01/03 14:16 ID:/y0BIE8s(1) AAS
PHPのパターンならここが有名でしょうね。
外部リンク:www.phppatterns.com
107
(3): 04/01/05 19:45 ID:??? AAS
PHP、言語として機能が足りてないからデザパタに向いてないよ。
典型的な例が Singleton。
108
(1): 04/01/05 20:23 ID:??? AAS
$a = NULL;

function GetSameObject(){
global $a;

if($a == NULL){
$a = new SameObject();
}

return $a;
}
109
(2): 04/01/07 09:41 ID:??? AAS
>>108
だから、そういう小汚いコード書かなきゃイカンから言語として機能が足りてないんだろ。
PHP5 だと static あるから Singleton は書けるようになるが…それでもどうかと思う。
110
(4): 04/01/07 18:00 ID:??? AAS
>>109
PEAR パッケージでよく使われてますが、 PHP4 でも普通に書けますよ。

class Hoge
{
function &singleton()
{
static $instance;
if (!isset($instance)) {
$instance = new Hoge;
// $instance = HogeHoge::factory;
省4
111
(2): 107 04/01/08 05:49 ID:??? AAS
>>110
>>109 の言う「小汚い」部類じゃないかね、そのコードは。
クラス内唯一のインスタンスなんだから、論理的に言えばクラスが static 変数として持つべきだろう。
> PHP5 だと static あるから Singleton は書けるようになるが
と言っている時点で >>109 の言いたい事は自明だと思うんだが…。あんた大丈夫か?

PEAR のコードや Do You PHP にあるデザインパターンのサンプルでも良く見掛けるが、
PHP4 自体の機能が足りずに他の言語ではしなくていいような事をしている点がいくつもある。
少くとも俺は PHP はオススメしない。
112: 04/01/08 06:38 ID:??? AAS
>>111
デザパタの本の「はじめに」とか「概要」を読み直すことを推奨。
113: 04/01/08 06:44 ID:??? AAS
>>111
てことはCはダメ言語でerronoなんて使ってるunixは目も当てられないって事になるのだろうか。
そんなことだからいつまでもプログラマ + Web特化なんだな。
114: 04/01/08 06:47 ID:??? AAS
まぁ C はダメ言語だろうな。
115
(1): 04/01/08 08:32 ID:??? AAS
>>110
クラス・メソッドを使わずnewすると普通に別のインスタンス作成出来るよね?
116
(1): 110 04/01/08 09:17 ID:??? AAS
>>115
できますよ。
言語特性や制限はありますが PHP や Perl では Private メソッドも含めてそういう
ものは書く側が慣習的に守るというだけのことです。 111 さんがいうようなことも
当然ありますけど、だからといってその言語の利点があるわけですから使い分けるの
が良いというだけの話でしょう。
117
(2): 04/01/08 14:14 ID:??? AAS
そうだなあ、singleton という、
コンストラクタの実装とクラス変数に大きく依存するパターンは、
PHP の言語仕様とインピーダンスミスマッチが大きい、ということは言えそうに思う。

ただ、GoFパターン全部がそういうわけではなく、
むしろ singleton が例外的だとも言える。

つか、そもそも singleton ってウェブプログラミングで使う?
まあ、singleton 以外のパターンも今のところウェブプログラミングでの使い道が
あまり見つかってないようではあるが。

しかし、ぱっとすぐ思いつかないが、
singleton 以外でも PHP が向かないパターンはありそうな感じではある。
省4
1-
あと 53 レスあります
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル

ぬこの手 ぬこTOP 0.017s