同様のデータをjsonからクラスオブジェクトにデシリアライズするとき。空のプロパティと新しいクラスの比較
A)ヌルプロパティを持つクラスがありますか?
B)見たいと思うプロパティだけを持つ別のクラスをお持ちですか?例えば
:私はこのようなデータを持つようにしたい場合には:
public class Author
{
public Data data { get; set; }
}
public class Data
{
public string first { get; set; }
public string prev { get; set; }
public string next { get; set; }
public string self { get; set; }
public string type { get; set; }
public string id { get; set; }
}
のみid
とtype
これまでAuthor
のために取り込ま、我々は他の人を期待することはありません取得し、のは、このケースで言ってみましょう。
次のようにするとより効率的ですか?
public class Author
{
public AuthorData data { get; set; }
}
public class AuthorData
{
public string type { get; set; }
public string id { get; set; }
}
これは明らかData
は異なる場所で異なる方法で使用することができる場合であるので、異なる時間にヌル他の特性を有します。
私たちのコードベースは明らかに、リサイクルすることでオブジェクト数がはるかに少なくなりますData
しかし、これがアプリケーションの実行にどのように影響しますか? デシリアライズのために一般的に型付けされたクラスを使用するのは間違っていますか?
「効率的」という定義によります。それは、バージョンとテストの両方を試してみてください。 – DavidG
効率性が重要な要素ですが、このような状況を処理するための「標準」が何であるかもわかります。私は両方をテストして、それが本当に基準ではなく効率の問題に過ぎないのかどうかを判断します。 – Bitz
標準はありません。すべてのアプリはそれぞれ異なり、さまざまなソリューションが必要です。実際には、目に見える違いがないことが常に分かります。これを読んでください:https://ericlippert.com/2012/12/17/performance-rant/ – DavidG