2016-09-29 8 views
0

私は、デバイスから送信されたメジャーを扱うperl OOP非ウェブバックエンドアプリケーションで動作します。データアクセスとドメインの懸念を明確に区別したいと思っていました。OOPバックエンドアプリケーションアーキテクチャ

私は2つの別々の名前空間にクラスを編成しました: "コントローラ"と "モデル"。

私の質問では、 "Mesure"オブジェクトの作成は常にDBからデータを取得することによってトリガされることを知っているので、両方の名前空間に "Mesure"を作成する必要がありますか?

ありがとうございました。

+0

モデル/コントローラは、実際にIoTシナリオについて質問するとき、非常に低いレベルのパターンです。また、実際のユースケースではあまり役に立ちません。処理が必要な*イベントストリーム*があります。 –

答えて

0

私はそれはかなり広い質問だと思いますが、Measureはデータを含むデータ構造のように見えますので、Modelにする必要があります。おそらく、プロパティの取得や設定、あるいは一般的な計算関数のようなメソッドがあります。

コントローラはMeasure(Device?から)を使用して測定するとよく似ているようです。その名前空間では、デバイスとやり取りするMeasureを処理/変更するためのクラス/関数が必要です。

+0

ありがとうございます。そうすることで、データ・メカニズムを模擬してセットアップするのが簡単になるでしょう(例えば単体テスト用)? –

+0

私は嘲笑について知識がありませんが、通常はModelインスタンスを構築するのが普通です。私は同様にコントローラをテストすることを期待しています。モデルインスタンスはコントローラインスタンスに依存していない可能性がありますが、コントローラインスタンスではModelインスタンスが機能する必要があります。 –