08-17-2011, 04:15 PM,
|
|||||
|
|||||
RE: RecordSet DE RecordDataとRecord
上記返信に補足します。 RecordSetはデータを管理するために、オブジェクト生成時に RecordFieldsオブジェクトでフィールド構造を定義します。 この処理を行うことで入力されるデータの厳格化を行いつつ、 高速にアクセスしやすい構造を内部的に作っているのだと理解しています。 RecordSetに紐付くRecordオブジェクトは全て リンクされているRecordSetを参照しており、 RecordSetを経由してフィールド情報を確認しています。 このRecordSetとRecordFields、Recordの絶妙な関係で RecordSetのデータの安全性と高速性が保たれています。 しかし、この構造にはコーディング上の大きな問題があります。 C#のDataTableなど同じようなデータ構造を保持できるものは どれでも似たような問題を抱えているのですが、 「RecordSetが参照しているフィールドの名前を記憶していないと、 データ入力のコーディングを行う際にエラーになる。 しかし、そのエラーは実行するまで検出されない。」 というものです。 これはプログラマにとっては非常に厄介で、 スペルミスがあってもコードが通ってしまうため デバッグのときに苦労する羽目に陥りがちです。 これに対してC#では、RecordSetに相当するDataTableクラスのサブクラスを データの種類ごとに設けて、カラムの値をフィールド変数にすることで 問題の解決を図りました。 これはVisual Studioの入力補完機能と合わせることで デバッグ能力を飛躍的に向上させた反面、 サブクラスの増加に伴う使用メモリ増大の問題を起こしています。 CurlでもC#と同じ実装方法をとることは出来ますが、 「クライアントの環境に捉われず、高速な処理を実現する」 という言語の基本命題を考えると同じ轍を踏むのは避けたいところです。 そこで、CurlとしてはRecordDataのようなデータ書き込み用のクラスを用意して、 コーディングの可読性を上げることで デバッグの効率を上げることを目指したのではないのでしょうか? もっとも、RecordDataを用いた方法だと エラーの発生箇所が変わってしまうため、 どちらが良いのかは好みによると思います。 |
|||||
« Next Oldest | Next Newest »
|
Messages In This Thread |
RecordSet DE RecordDataとRecord - by nasuB - 08-17-2011, 10:30 AM
RE: RecordSet DE RecordDataとRecord - by nmyzk - 08-17-2011, 03:51 PM
RE: RecordSet DE RecordDataとRecord - by nmyzk - 08-17-2011, 04:15 PM
RE: RecordSet DE RecordDataとRecord - by nmyzk - 08-17-2011, 04:20 PM
RE: RecordSet DE RecordDataとRecord - by nasuB - 08-18-2011, 05:35 PM
RE: RecordSet DE RecordDataとRecord - by nmyzk - 08-18-2011, 09:04 PM
RE: RecordSet DE RecordDataとRecord - by nasuB - 08-22-2011, 11:34 AM
|
Possibly Related Threads... | |||||
Thread | Author | Replies | Views | Last Post | |
RecordSet.batch-events?=true 時でもRecordModifiedイベントが発行されてしまう | umemura | 1 | 2,752 |
12-25-2013, 11:44 AM Last Post: umemura |
|
RecordSet に groupby したい? | umemura | 1 | 4,649 |
09-25-2013, 05:14 PM Last Post: umemura |
|
RecordSet DE 複数の主キー | nasuB | 2 | 4,831 |
08-16-2011, 09:01 AM Last Post: nasuB |
|
{RecordSet.commit}について | thiguchi | 1 | 4,733 |
08-15-2011, 01:04 PM Last Post: fukuta |
Users browsing this thread:
1 Guest(s)
1 Guest(s)