質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

ただいまの
回答率

90.52%

  • C#

    7094questions

    C#はマルチパラダイムプログラミング言語の1つで、命令形・宣言型・関数型・ジェネリック型・コンポーネント指向・オブジェクティブ指向のプログラミング開発すべてに対応しています。

  • コーディング規約

    49questions

    コーディング規約とは、コードの書き方についての決め事のことです。 文法のことではなく、そのチームなどの中の約束事としてどのような書き方で行うかを定めるもの。 項目の例として、関数や変数の命名規則、コーディングのスタイル、括弧やインデントの書き方などが挙げられます。

C#で、Jsonをデシリアライズしたデータを格納するクラスを、なんと命名しますか?

解決済

回答 4

投稿

  • 評価
  • クリップ 0
  • VIEW 748

usugita_san

score 219

C#の実装中に疑問に思ったのでお問い合わせします。

JSONの文字列があります。これをデシリアライズして、あるクラスのインスタンスを生成しようとしています。
このクラスはJSONに含まれていたデータをそもまま保持する事を目的として、主に他の処理との情報の受け渡しに使用します。

JavaですとこういうクラスをDTOを呼んでいたと記憶しています。例えば、社員情報を格納するDTOは、EmployeeDto みたいな感じです。
このDTOを、エンティティとサービスの間でやりとりさせています。

C#では、このようなクラスにどのように命名するべきでしょうか?
EmployeeModel でしょうか?
EmployeeEntity でしょうか?

  • 気になる質問をクリップする

    クリップした質問は、後からいつでもマイページで確認できます。

    またクリップした質問に回答があった際、通知やメールを受け取ることができます。

    クリップを取り消します

  • 良い質問の評価を上げる

    以下のような質問は評価を上げましょう

    • 質問内容が明確
    • 自分も答えを知りたい
    • 質問者以外のユーザにも役立つ

    評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

    質問の評価を上げたことを取り消します

  • 評価を下げられる数の上限に達しました

    評価を下げることができません

    • 1日5回まで評価を下げられます
    • 1日に1ユーザに対して2回まで評価を下げられます

    質問の評価を下げる

    teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

    • プログラミングに関係のない質問
    • やってほしいことだけを記載した丸投げの質問
    • 問題・課題が含まれていない質問
    • 意図的に内容が抹消された質問
    • 広告と受け取られるような投稿

    評価が下がると、TOPページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

    質問の評価を下げたことを取り消します

    この機能は開放されていません

    評価を下げる条件を満たしてません

    評価を下げる理由を選択してください

    詳細な説明はこちら

    上記に当てはまらず、質問内容が明確になっていない質問には「情報の追加・修正依頼」機能からコメントをしてください。

    質問の評価を下げる機能の利用条件

    この機能を利用するためには、以下の事項を行う必要があります。

回答 4

checkベストアンサー

+2

MVC的にはModelじゃないですかね。
データは全部Modelですし。

オレオレスタイルですが、Model.Jsonという名前空間にJSON用のクラスをおいています。

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

  • 2017/03/21 18:30

    仰る通りのようです。githubでいくつかC#のプロジェクトを見てみたのですが、いくつかのプロジェクトでmodelってつけてました。ありがとうございます。

    キャンセル

  • 2017/03/22 18:14

    Modelって事で確定しました。
    ありがとうございました。

    キャンセル

+2

DTO という名前は少なくとも私のいる C# 界隈では聞いたことがありません。Model や Entity もつけないです。普通にクラス名を付与しています。

ただし、それは私のいる C# 界隈に限った話で、開発者が組織に属して開発しているのなら、その組織で命名規則を決めて、個々の開発者はそれに従うというのが普通だと思います。

個人で開発していて、将来的に保守にも他人が関わることがなければ、それはもう個人の好みの問題で、自分が気に入ったように命名すればいいと思います。

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

  • 2017/03/21 18:32

    仰る通りです。まずはチーム内で意見をまとめようと思います。

    キャンセル

+1

こんにちは。

そのまんまDTOでも良いのでは?
Java専用の用語というわけでもないようですし、既に良く使われている用語なら、理解しやすいですし。

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

  • 2017/03/21 18:31

    一時期はそう思ってたのですが、githubでソースを見ていると、どうもDateTimeOffsetの略でdtoってつけてる事が結構あるんです。Javaだとそんなの無いから全然気づかなかったです・・・。

    キャンセル

  • 2017/03/21 19:29

    あれれ、被ってますか。データ交換用に良く使われる名称は特に把握してません。

    > このクラスはJSONに含まれていたデータをそもまま保持する事を目的とし

    なるべくこの目的が想起できるような命名にしたいところですね。

    キャンセル

0

プロジェクトに関わる方々で共通の認識がとれればなんでもよいと思います。むしろそこが一番重要だと思います。
あとは、責務に応じた名称になっていて、名称から責務が理解できるものであればと。

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

  • 2017/03/21 18:33

    確かにそこが重要なんですよね。自分の考えに自信が持てなくて、常識とか正解を求めてました。
    チーム内で意見を求めようと思います。

    キャンセル

15分調べてもわからないことは、teratailで質問しよう!

  • ただいまの回答率 90.52%
  • 質問をまとめることで、思考を整理して素早く解決
  • テンプレート機能で、簡単に質問をまとめられる

関連した質問

  • 解決済

    jsonオブジェクトを使ったサーバとの通信

    json文字列をjsonオブジェクトにして、サーバと通信するというブログをみたのですが、わざわざjsonオブジェクトにするのはなぜでしょうか。json文字列のままでは通信できないの

  • 解決済

    リストにある要素が含まれてたら優先的に処理するには

    現在javaとseasar2でDB連携して登録削除できるアプリを作っています。 質問があるのですが、 Listに複数オブジェクトが格納され、その中にある要素があるものを優先して処

  • 解決済

    VB.NETでとあるwebapiにてデータ取得したいのですが・・・

    サンプルがcurlなのです。 もちろんcurlコマンドを使用すれば、VB.NETでも簡単に使用できますが、それを使用せずにデータ取得は可能でしょうか? また、Jsonに関して知

  • 解決済

    【C#】stringをクラスにParseしたい

    質問 通信などの理由でstringと相互に変換できる通信データクラスの仕組みを考えています。 stringにする仕組みはできたのですが、stringをクラスインスタンスにデシリ

  • 解決済

    jacksonのObjectReaderでString[]をマッピングする方法

    お世話になります。 jacksonのCsvMapperを使いCSVファイルを読み取っていますが、もろもろの要件により一旦String[]にしてからそれをObjectに変換した

  • 解決済

    phpでのdtoについて

    スマートに項目をまとめてフロントが使いやすいように返却するにはどうしたら良いでしょうか? サーバー処理で項目をまとめてフロントに返したいのですが、その際dtoのようなクラスを作成

  • 解決済

    C#でのMicrosoft GraphからのDisplayname取得

    Microsoft Graph Apiを使ってDisplaynameを取得しようと考えております。 Azure ADでの認証はクリアしており、トークンは取得できております。 トーク

  • 解決済

    型がわからないJSONのマッピング

    APIでJSONを取得しマッピングしたいのですが戻ってくる値の型が一定ではありません。 (下記のように文字列として返ってくる場合とJSONが入れ子になって返ってくる場合あり)

同じタグがついた質問を見る

  • C#

    7094questions

    C#はマルチパラダイムプログラミング言語の1つで、命令形・宣言型・関数型・ジェネリック型・コンポーネント指向・オブジェクティブ指向のプログラミング開発すべてに対応しています。

  • コーディング規約

    49questions

    コーディング規約とは、コードの書き方についての決め事のことです。 文法のことではなく、そのチームなどの中の約束事としてどのような書き方で行うかを定めるもの。 項目の例として、関数や変数の命名規則、コーディングのスタイル、括弧やインデントの書き方などが挙げられます。