- PR -

VB.NET で 設定ファイルをもちたいのですが・・・

1
投稿者投稿内容
後藤君
会議室デビュー日: 2008/11/13
投稿数: 15
投稿日時: 2008-12-03 19:09
VB.NET で 設定ファイルをもちたいのですが・・・

以前のVB6では iniファイルやレジストリがメインでした

現在はXMLでも設定をもてるみたいですが

iniファイルやレジストリ XML
それぞれメリット デメリットを教えてください

XMLがなぜ推奨されてるかも教えてください
ハニワ祭り
大ベテラン
会議室デビュー日: 2005/11/15
投稿数: 115
投稿日時: 2008-12-03 21:32
iniファイルと比べてXMLのメリットは、
・ファイルサイズの制限がないこと。
・階層構造がわかりやすい。
・クラスとの対応付けが容易で読み書き用の機能が標準で用意されている。
逆にXMLのデメリットは特にないので、
いまさらiniファイルを使う必要はないと思います。

それと、データベースにアクセスするようなプログラムの場合は、
設定内容をファイルに持つべきか、データベース側に持つべきか
あらかじめ十分検討した方がよいです。

[ メッセージ編集済み 編集者: ハニワ祭り 編集日時 2008-12-03 21:38 ]
武史
ベテラン
会議室デビュー日: 2007/09/21
投稿数: 71
投稿日時: 2008-12-04 00:44
xml のいいところは既に書かれていますので、省略します。



ini ファイルのいいところは、見た目分かりやすく、編集しやすい事でしょうか。

読み書きをほとんど、コードから行うのであれば、xml にした方がいいかと
思います。

逆に、書くのはほとんど人で、コードは読み込むだけなんていうのは、
ini ファイル形式の方が書きやすいかと思います。

階層に制限がある方が、理解はしやすいですし、特殊文字の制限も
ほとんど考える必要はありません。

xml のように、多機能ではありませんが、その分、シンプルで、
理解、編集はしやすいかと思います。

実際に、設定ファイルをほとんどユーザが手書きする必要のある
Linux では、xml で設定を行うソフトを私は知りません。
(もちろん、私が単に無知な可能性を否定しませんが、多くはないはずです)



レジストリは、実行ファイルの場所に関係ない。一定のインデックス機能が
あるというのが特徴かと思います。

実行ファイルの場所に関係ないので、複数のプログラムで利用する設定などに
使ったり、設定の数が非常に多い場合(1000個とか)に ini ファイルや、
xml よりも高速な読み書きが期待できるかと思います。
じゃんぬねっと
ぬし
会議室デビュー日: 2004/12/22
投稿数: 7811
お住まい・勤務地: 愛知県名古屋市
投稿日時: 2008-12-04 01:34
引用:

武史さんの書き込み (2008-12-04 00:44) より:

逆に、書くのはほとんど人で、コードは読み込むだけなんていうのは、
ini ファイル形式の方が書きやすいかと思います。


ユーザーならいざ知らずというところですね。 仮にユーザーが設定を書き換えるのであれば設定画面を作ると思いますのであまりメリットとして強調するのは難しいかと思います。 とか言いつつ、私も大人の事情みたいなもので ini ファイル使わされていますけどね。orz

_________________
C# と VB.NET の入門サイト
じゃんぬねっと日誌
セラフ
ベテラン
会議室デビュー日: 2005/12/01
投稿数: 95
お住まい・勤務地: 東北の顔の形といえば
投稿日時: 2008-12-04 09:48
引用:

武史さんの書き込み (2008-12-04 00:44) より:

実際に、設定ファイルをほとんどユーザが手書きする必要のある
Linux では、xml で設定を行うソフトを私は知りません。
(もちろん、私が単に無知な可能性を否定しませんが、多くはないはずです)



LinuxでもGUIがあるツールだとXMLがだいぶ使われて来てませんか?
後はTomcatとかJAVA系はXMLが多いような気がします。ライブラリもそろってますしね。

引用:

武史さんの書き込み (2008-12-04 00:44) より:

実行ファイルの場所に関係ないので、複数のプログラムで利用する設定などに
使ったり、設定の数が非常に多い場合(1000個とか)に ini ファイルや、
xml よりも高速な読み書きが期待できるかと思います。




例示されてる設定の数が1000っていうのは何か設計を間違っているような気がしますが、レジストリに1000の値をセットするとしたら、知識の無いユーザーからの設定変更なんて考えるだけ無駄な気がします。設定値を定数として設定された、それらを返すだけのクラスをDLLにしてしまったほうが、高速ではないですか?設定変えるときは、定数書換えてビルドしなけりゃいけませんが、玄人しか変更できない設定なら・・・

ちょっと例がよくない気がします。
ひろ@ya
大ベテラン
会議室デビュー日: 2006/02/23
投稿数: 168
投稿日時: 2008-12-05 12:58
iniファイルのデメリット
・文字列とInt32以外の型では自力で変換が必要
・エントリ名と内容に使用できる文字に制限がある
・PrivteProfile 系のAPIは独自のキャッシュ機構がある関係上、
 普通のファイル入出力のAPIを経由したファイル操作との相性が悪い
 (最悪の場合ファイル内容が消えてしまう)
1

スキルアップ/キャリアアップ(JOB@IT)