リモートデバイスのドメインモデル

テリーT

私が持っているドメインモデルシナリオの設計アドバイスを探しています。

ロボットの分隊があり、それぞれがワイヤレスネットワーク接続を介して制御可能であるとしましょう。

実世界のロボットを表すIRobotドメインオブジェクトがあります。インターフェイスは次のようになります。

public interface IRobot
{
    void MoveHeadUp(int toAngle);
    void MoveHeadDown(int toAngle);
    int GetHeadAngle();
}

シナリオ例:仮想ロボットがGUIに表示されます。オフラインモードでは、GUIは、ドメインオブジェクト(IRobot)に頭を5度上げるように指示するとどうなるかを示します。

オンラインモードでは、GUIにロボットの移動が表示され、コマンドが物理ロボットに送信され、ロボットも移動します。

このドメインオブジェクトの周りにリモート機能を追加しようとしています。イーサネットやシリアルなどを介してリモート状態を取得/設定します。ネットワーク接続の問題でドメインオブジェクトを汚染したくありません。

IRobotドメインの動作を実装し、リモート接続の実装の詳細を分離しておくための最良のアプローチは何ですか?

ショーンフェルドマン

これについての私の見解はメッセージングです。

すべてのコマンド(およびそれがロボットに与えているもの)は、必要なもの(選択したトランスポート)を介して効率的に通信でき、ロボット(仮想または物理)がコマンドを受信して​​それに基づいて動作します。

これらのロボットはエンドポイントと考えることができます。各エンドポイントには名前/アドレスがあります。これらのロボットにコマンドをディスパッチしているので、ロボット(物理またはエミュレート)コマンドがどのように実行されるかはもう気になりません。

あなたは言及しました

オンラインモードの場合

オフラインモードもあるということですか?もしそうなら、私は確かにメッセージングを調べます。

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

Djangoモデル:モデルのインスタンスのリストでメソッドを定義する

分類Dev

電子メールアドレスのリストでモバイルデバイスをフィルタリングする方法

分類Dev

リスト内のモデルバインディング

分類Dev

モデルバインディングangularjsのリスト

分類Dev

リッチドメインモデルのインターフェース

分類Dev

リストの動的リストをバインドするMVCモデル

分類Dev

ビュー内のドロップダウンリストへのMVCバインディングモデル

分類Dev

モバイルデバイスをサブドメインにリダイレクトする

分類Dev

WPF: MVVM のビューモデルからのリストビュー項目ソースのバインド

分類Dev

モバイルデバイスのGWTDevモードまたはSuperDevモード?

分類Dev

MVC4-メインビューへの送信中の部分ビューリストモデルのバインド

分類Dev

Android:外部メモリカードではなく、Androidデバイスの内部メモリにテキストファイルを保存しますか?

分類Dev

モデル内のMVCコントローラーリストがバインドされていません

分類Dev

モバイル画面のリモートアクセス用のLinuxディストリビューション?

分類Dev

ドメイン名のないリモートデスクトップ接続

分類Dev

ドメインサービスのドメインモデルでの検証?

分類Dev

リスト内のモデルをリピーターにバインドする

分類Dev

モバイルデバイス上のOutlookアドイン

分類Dev

Vulkanメモリ割り当てハンドルをエクスポートすると、デバイスメモリが不足します

分類Dev

モデルバインドリストビューでの外部キー列の並べ替え

分類Dev

IBMモバイルアプリビルダーがCloudantデータベースのドキュメントを表示しないのはなぜですか?

分類Dev

iOSデバイスにアプリをインストールするためのモバイル機能

分類Dev

Laravel-モデルバインディングのリダイレクトはコントローラーメソッドを実行します

分類Dev

Djangoのモデルクラスとモデルインスタンスの違い(ドキュメント)

分類Dev

Java EE:ドメインモデルからのソケットリスナーの動的な作成と削除

分類Dev

ビデオモードと写真モードのAndroidデバイスカメラ

分類Dev

モデルバインディングfofリスト

分類Dev

ドメインモデルとデータモデルの分離

分類Dev

jQuery:モバイルデバイスのキーアップイベント

Related 関連記事

  1. 1

    Djangoモデル:モデルのインスタンスのリストでメソッドを定義する

  2. 2

    電子メールアドレスのリストでモバイルデバイスをフィルタリングする方法

  3. 3

    リスト内のモデルバインディング

  4. 4

    モデルバインディングangularjsのリスト

  5. 5

    リッチドメインモデルのインターフェース

  6. 6

    リストの動的リストをバインドするMVCモデル

  7. 7

    ビュー内のドロップダウンリストへのMVCバインディングモデル

  8. 8

    モバイルデバイスをサブドメインにリダイレクトする

  9. 9

    WPF: MVVM のビューモデルからのリストビュー項目ソースのバインド

  10. 10

    モバイルデバイスのGWTDevモードまたはSuperDevモード?

  11. 11

    MVC4-メインビューへの送信中の部分ビューリストモデルのバインド

  12. 12

    Android:外部メモリカードではなく、Androidデバイスの内部メモリにテキストファイルを保存しますか?

  13. 13

    モデル内のMVCコントローラーリストがバインドされていません

  14. 14

    モバイル画面のリモートアクセス用のLinuxディストリビューション?

  15. 15

    ドメイン名のないリモートデスクトップ接続

  16. 16

    ドメインサービスのドメインモデルでの検証?

  17. 17

    リスト内のモデルをリピーターにバインドする

  18. 18

    モバイルデバイス上のOutlookアドイン

  19. 19

    Vulkanメモリ割り当てハンドルをエクスポートすると、デバイスメモリが不足します

  20. 20

    モデルバインドリストビューでの外部キー列の並べ替え

  21. 21

    IBMモバイルアプリビルダーがCloudantデータベースのドキュメントを表示しないのはなぜですか?

  22. 22

    iOSデバイスにアプリをインストールするためのモバイル機能

  23. 23

    Laravel-モデルバインディングのリダイレクトはコントローラーメソッドを実行します

  24. 24

    Djangoのモデルクラスとモデルインスタンスの違い(ドキュメント)

  25. 25

    Java EE:ドメインモデルからのソケットリスナーの動的な作成と削除

  26. 26

    ビデオモードと写真モードのAndroidデバイスカメラ

  27. 27

    モデルバインディングfofリスト

  28. 28

    ドメインモデルとデータモデルの分離

  29. 29

    jQuery:モバイルデバイスのキーアップイベント

ホットタグ

アーカイブ