問題タブ [data-transfer-objects]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
bulk - libusb一括転送
libusb1.0.9を使用してユーザースペースのUSBドライバーを実装しようとしています。lpc2148 blueboard(ARM7)を持っています。このボードには、BertrikSikken氏によるオープンソースのUSBスタック/ファームウェアがロードされています。現在、私のユーザースペースドライバーはボードを使用して読み取り/書き込みを試みています。ガベージデータを取得しています。バルク転送の流れについて知りたい。転送/トランザクションには、カーネルデバイスドライバーが含まれていますか?USBガジェットデバイスドライバーも必要ですか?データがどこにコピーされるのか理解できません。重要なのは、読み取り/書き込み割り込みが生成され、LCDに正しいデータが表示されることです。USBRxData / USBTxDataの読み取り/書き込みは必要ですか?必要なことをしてください。
一括転送の読み取りと書き込みについて、以下のコードを試しました。
asp.net - これは、ASP.NET アプリケーションでレイヤーを分離する良い方法ですか?
本番環境でエラー統計を作成する ASP.NET アプリケーションを開発しています。プレゼンテーション、ビジネス ロジック、データ アクセスなどのレイヤーに分け始めました。
質問を説明する簡単なプロジェクトを作成しました。
サンプル データベースは次のとおりです。
私のデータアクセスレイヤーでは、クラスのようなDAOパターンを使用しました
たとえば、私のデータ アクセス レイヤーの ProductDao および ProductDto クラスは次のとおりです。
データ転送オブジェクト:
これらのメソッドはストアド プロシージャを呼び出すだけです。たとえば、これはpublic ProductDto Select(Guid id)
データベース内のすべてのテーブルに対してこれを作成しました。
私のビジネス ロジック クラスには、必要な Dto クラスのインスタンスがあり、Daos を使用してデータベースとやり取りします。BLL クラスのプロパティは、Dtos プロパティと共に返されます。
例:
プレゼンテーション レイヤーとして、ASP.NET Web フォーム フレームワークを使用しました。
たとえば、製品を表示するには、GridView と ObjectDataSource を使用します。
これはレイヤーを分離する良い方法ですか?
vb.net - データ転送オブジェクトの戻り値
データ転送オブジェクトを常に使用してデータを転送する必要がありますか? 以下のコードを参照してください。
最初の関数は、その人のすべての情報を返します。アプリケーションの他の部分でその人の住所などの情報を取得するときに、おそらく何度でも再利用できます。getPersonAge はわずかに高速です。
java - Java で DAO パターンを実装する場合、TransferObjects をどのように実装して使用する必要がありますか?
Core J2EE Patternsで指定されている DAO パターンを実装しています。私のプロジェクトには 3 つのモジュールがあります:core layer
を使用DAO-API layer
し、Service Provider DAO-MySQL layer
によって実装されます。
TransferObject
s の設計と使用について質問があります。
1a)同等の「ビジネス層」クラスと比較して s が非常に冗長であることは正常ですか、TransferObject
それとも「ビジネス層」クラスはTransferObject
s ですか?
たとえば、私core layer
の中にクラスがある場合:
ではDAO-API layer
、次のようになります。
Customer
との間のこの冗長性は嫌いCustomerTO
です。また、Core J2EE Patternsの「Example 9.5 Customer Transfer Object」ではCustomer
、.TransferObject
DAO-API layer
また、2 つのクラスを持つことで、から完全に独立し、別のモジュールとして提供できるという利点も見core layer
られます。これは、エンド ユーザーにはわかりません。
=> 1b)しかし、おそらく myDAO-API layer
は my の一部でcore layer
あり、?でCustomer
ある必要があります。TransferObject
=> 1c)または、コア ビジネス レイヤ クラスとその転送オブジェクト間の冗長性を回避するために見逃しているものはありますか?
2) DAO メソッドを呼び出すときに s をパラメーターとして使用しないことは合法ですか? TransferObject
例えば:
または、常に次のようなものを使用する必要があります。
最初の方法を使用する際の欠点は何ですか?
java - Java と C++ の間でオブジェクト/クラス データを交換する
C++ プログラムとそのデータを表示している Java GUI の間でデータを渡す必要があります。そのデータをクラスに入れることはできますが、c++ プログラムは Linux (ラズベリーパイ) で実行でき、Java は Windows で実行される場合と実行されない場合があります。どのようなオプションがありますか? 同じマシン プロセスと、それらが異なるマシン上にある場合も、親切に助けてください。PS 別のマシンでインターネット接続が利用可能です。
scala - scala リフレクション API 名またはシンボルは、転送オブジェクト内での使用に適していますか?
序章
私は Scala で書かれた API に取り組んでいます。API の関数に渡されるパラメーターとしてデータ転送オブジェクト (DTO) を使用します。DTO は、API のユーザーによってインスタンス化されます。
API は非常に抽象的/汎用的であるため、API が操作するオブジェクトの属性を指定したいと考えています。例:
「P」のインスタンスがPerson
API に渡されるとき、API は操作する「P」の属性を知る必要がありname
ますbirthdate
。
したがって、「P」自体のインスタンス、ある種の属性の宣言、および「P」のタイプに関する追加情報を含む DTO を設計する必要があります。
文字列ベースのアプローチ
1 つの方法は、String
s を使用して "P" の属性とそのタイプを指定することです。String
s は非常に軽量でよく知られているため、これは比較的単純です。パッケージ、型、およびメンバーの正式な表記法があるためString
、宣言はある程度構造化されます。一方、ユーザーが無効なsString
を渡す可能性があるため、宣言を検証する必要があります。String
の代わりに専用の型で属性を表す型を想像できますString
。これには、構造が増えるという利点があり、それらの型でさえ、有効なインスタンスのみが存在できるように設計されている可能性があります。
リフレクション API アプローチ
もちろん、リフレクション API が頭に浮かび、リフレクション API の型を使用して属性を宣言することを実験しています。残念ながら、scala 2.10.x リフレクション API は少し直感的ではありません。少し混乱を招く可能性のある名前、シンボル、ミラー、タイプ、タイプタグがあります。
基本的に、String
sを使用した属性宣言には 2 つの選択肢があります。
- リフレクション API の「名前」を使用した属性宣言
- リフレクション API の「シンボル」(特に TermSymbol) を使用した属性宣言
私が見る限り、この方法で行くと、DTO を構築する API のユーザーは、リフレクション API とその名前/シンボルを処理する必要があります。また、API の実装ではリフレクション API を使用する必要があります。そのため、リフレクション コードを使用する場所が 2 か所あり、ユーザーはリフレクション API について少なくとも少しの知識が必要です。
質問
ただし、これらのアプローチがどれほど重いかはわかりません。
- 名前やシンボルは構築するのに費用がかかりますか?
- リフレクション API は、高価な操作結果のキャッシュを行いますか、それとも注意する必要がありますか?
- 名前とシンボルは、ネットワーク経由で別の JVM に転送できますか?
- それらはシリアライズ可能ですか?
主な質問: scala リフレクション API 名またはシンボルは、転送オブジェクト内での使用に適していますか?
これをリフレクション API で行うのは複雑に思えます。どんなヒントでも大歓迎です。また、他の代替案に関するヒントも。
PS: 私の API は複雑で、リフレクション部分はかなり実験的な状態にあるため、まだ独自のコードは含めていません。後で役立つものをお届けできますように。