「おとは@でいじー開発部」トップページに移動します
プロフィール
短く紹介
一応肩書付き最前線プロのプログラマーです☆
デザイン、サウンド、企画、設計、プログラム構築まで幅広く知識を身につけるべく修行に励んでおります!!
ハードウェア開発の沼にどっぷり漬かってぬくぬく☆

ひとり言
ハードウェア開発に興味を持ってしまった・・・当分はハードウェアについて記事を書いていくのだ♪♪
WPFの紹介ウェブページもある程度コンテンツが増えたのでライブラリの公開を一時中断したよ(爆)
スポンサード リンク
カレンダー
2023年 3月
      1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31  
人気記事
- 2017/11/28 22:40 (0)
新規記事
- 2017/11/28 22:40 (0)
コメント
登録はありません
トラックバック
登録はありません
バックナンバー
RSS
常に最新情報を得るためにはRSSを利用しましょう。
QRコード
QR Code

現在のページを通報
「ぶろぐるすとーりーと管理人」へ不適切な記事の通報が行えます。
通報を行いたい対象記事のみを表示した状態で通報して下さい。

直近記事のリンク



データの入出力の簡略化

投稿日時 2015/05/03 22:49:23

ゲストさん、こんにちはhappy01

高級アプリ製作の極意 ~WPF編~のお部屋へようこそ。
このお部屋では 第16章 の「 データの入出力の簡略化 」についてお話したいと思います。

アプリケーションの製作において 必然的になるものと言えばデータ入出力 もその一つです。
ここまで読み進めているゲストさんはもうアプリの1つや2つ作ったことがあるかもしれないですねnote
データの入出力処理はどうしていますかsign02

昔、私は自分でCSVや手書きのXMLなどで入出力を行っていましたdanger

プログラムを組んで1つ1つの入出力処理を書くって かなり重労働 なんですよねthunder
今回紹介する簡略化を行うとデータの入出力のための処理は 短めのコード2行sign03 で出来ますshine
(共通コードとして数十行書いたコードがあることが前提ですが)

今回紹介するのは XMLのシリアライズとデシリアライズによるファイルの読み書き についてです。

XMLシリアライズの利用の有無でどう違うのかまとめます。

heart04 XMLシリアライズを利用する

  1. クラス構造を書くだけでXMLファイルにメンバ変数の情報が入出力できる(利点)
  2. ファイルの入出力に関するコード記述が1度だけで使いまわせる(利点)
  3. 読み込みトラブルが発生しにくい(利点)
  4. クラスのインスタンスを直接変換されるので扱いやすい(利点)
  5. クラス構造に名前を付けておくことで自由なタグ名やアトリビュート名が付けられる(利点)
  6. クラス構造にルールを設けて記述を行う必要がある(難点)
  7. 読み込みトラブルに失敗した時に何が原因か分かりにくい(難点)
  8. ファイルサイズが大きくなりやすい(難点)


heart03 XMLシリアライズを利用しない

  1. 自由な形式のフォーマットで出力できる(利点)
  2. ファイルサイズを小さく出来る(利点)
  3. 読み込みトラブルが発生しても原因を特定しやすい(利点)
  4. 実装にコストが掛かる(難点)
  5. メンバ変数追加の度に変数からの読み込みや書きだし対応が必要(難点)
  6. 複雑なデータ構造にするとメンテナンスが大変(難点)


clip サンプルダウンロード
 


clip サンプルイメージ画像

おとは@開発隊長さんの投稿画像
4つのメンバ変数を持つクラスをUIに割り当てました。
開くボタンでXMLファイルを読み込みUIへ直接反映します。
保存は入力されている情報をXMLへ書き込みします。

おとは@開発隊長さんの投稿画像
XML中身はこんな感じです↑(横長だったので改行入れてます)

今回はシンプルなデータでしたので4つのアトリビュートを持つ1つのクラスで構成されています。
エレメントを持たせたり階層構造にするとより 複雑なXMLファイルが入出力出来る ようになります sign01
コードを見て頂くとお分かりになると思いますが、変数名とXMLに出力されている名前は別扱いしています。
変数名直接だと見難くなったりもするのでアトリビュート名を記述して分かり易くしています

 


投稿者

おとは@開発隊長  

カテゴリー

C#言語

タグ

Windows C# WPF
  • Yahoo!ブックマークに登録
  • このエントリーをはてなブックマークに追加
コメント ※ぶろぐ管理者による許可があるまで投稿コメントは表示されません

*が付いた項目は入力が必須となっています。

名前

タイトル

メールアドレス

リンクURL

本文 *


※200文字まで

画像認証 *

スパム対策のためご協力下さい 
  




直近記事のリンク



ページビューカウンター
145150
ウェブページ
+ハードウェア編
+ソフトウェア編
+ノウハウ・技能編
+道具・雑貨編
+初級編
+中級編
+上級編
+番外編
+初級編
+中級編
フリースペース
☆ハイレゾ音源☆

☆お絵かきするなら☆

☆カスタムPC☆

ギャラリー
カテゴリー
ほびぃ~
くりえいてぃぶ
電子回路 (14)
ぷろぐらみんぐ
C#言語 (21)
C++言語 (4)
PHP言語 (3)
あいてぃー・こんぴゅーた
ぷろふぇっしょなる
全般 (16)
れびゅー
お気に入りたぐ
ツイッター
お問合わせ
ぶろぐ管理者にお問合わせしたい時は専用フォームから連絡が行えます。


  • ipv6 ready
Blogle Storeet Core System v2.0a
おとはうぇぶあぷりぶ (IPv4) v2.6a
Copyright (C) 2014-2018 Blogle Storeet Development Team.