2012-01-24 7 views
3

外部URLからJSONを取得しています。私はそのデータを2つの異なるクラスで使いたいと思っています。ここで私はそれがセットアップされるべきだと思います。複数クラスのデータを効率的に使用

// gets data 
class get_data { 

} 

// creates a widget that uses the data 
class widget_class { 

} 

// some other widget that uses the data 
class page_class { 

} 

データをget_dataからwidget_classとpage_classの両方に取得するにはどうすればよいですか?私はちょうど各クラスに$data = new get_data();のようなものを挿入することができますが、外部データを2回プルするので、これは最も効率的なやり方ではありません。

私のOOPに関する知識は限られていますので、どんな助けでも大丈夫です。

答えて

1

ファクトリを使用して、2つのクラスを縦に構築します。

工場は、page_classとwidget_classの両方を返す静的メソッドを持つ第3のクラスです。これは1つのget_data呼び出しを行い、2つのクラスを構成するときに適切に戻り値を分割します。

+0

Righhht、私はgotchyaだと思います。私は私のニーズに合うようにこれを行う最善の方法でいくつかのグーグルをやっています:)私が始めてくれてありがとう。 – paulruescher

+0

私はインターフェイスとしてget_dataを設定し、クラス作成時にそのインターフェイスを実装したいのですか、それとも私の元の問題を複製するだけですか? – paulruescher

+0

@ruescher:他の2つのクラスをビルドする以外はget_dataを使用しない場合は、独自のオブジェクト型ではなくファクトリで関数を作成してください。 – Borealid

関連する問題