※ ChatGPTを利用し、要約された質問です(原文:データ保持クラスでラッパークラスとシリアライズ)
ラッパークラスとシリアライズについて
このQ&Aのポイント
C#のDataContractSerializerを使用して、XML保存を行っている際に、基本データ型ではなくラッパークラスを使用することをアドバイスされましたが、そのメリットが分かりません。
一つのクラスが増えると、[DataContract]の増加や要素の増加によって、XMLの可読性が低下してしまう可能性があります。
保存をRDBMSにしても、処理が面倒になるかもしれませんが、意味付けでの利便性は考慮する必要があります。
C#を使いDataContractSerializerでXML保存をしています。
基本のデータ型で例えば電話番号とかEmailアドレス、また作業時間やIDなんてのもあとで処理しやすいようにラッパークラスを作ると良いとアドバイスを受けました。
そこで検索をかけるとオブジェクト指向エクササイズなんていうものの中にズバリな説明があったのですが保存を考えるとどうもメリットが分かりません。
こういう基本型で細々とラッパークラスを作るとなると、保存処理が結構面倒くさくなる気がします。
私の処理の仕方がまずいだけかもしれませんが。
アドバイスを下さった方に聞いたのですが時間がなかったので詳しい説明もなく、大して変わらないと言われました。
私としては一つクラスが増えると[DataContract]が増える上に、要素が増えてネストされる分XMLも見づらくなるのですが、そこまで気にする方がおかしいのでしょうか?
仮に保存をrdbmsにしても処理がめんどうな気がします。
やってること(処理)が単純すぎて処理の記述が増えた分面倒なだけでしょうか?
確かに意味づけで便利かなーと思うこともありますが。
そのアドバイスを下さった方が次くるのが1月後なので、どうにもモヤモヤしてしまい質問させて貰いました。
お礼
確かに! 妙に大変な部分が多いですね! ただ上がこういうやり方でって感じで言ってくるのでオブジェクト指向を中心にやるしかない状態ですが。 Entity Frameworkはまだ触ったことがなかったです。 Linqやラムダ式は使ってますのでプラスEntity Frameworkですね。 調べた限りかなり便利そうなのでさっそくそちらで試してみたいと思います。 ありがとうございます。