データモデル試作中

触ってみた中では一番イメージに近かった CoreData を参考にインターフェイスと試験実装を始めた。 XCube_PHP5 の最初のコードとして週末にはvalidation と relation のない簡易版だけでもコミットしたい。

詳細は当然ドキュメントをアップしますが、イメージとしては xoops_gethandler() を隠蔽したコンテキストなるものがあり、データオブジェクトは全部コンテキストに入る。フェッチとセーブはコンテキストにオーダーし、コーディネータがストレージへの Read/Write を担当する。このコーディネータを変更して、ストレージタイプの変更に耐えるというわけ。

利点がそのまま欠点で、RDBMS以外のストレージを選択可能なスペックを持ち、ロード済みデータを加工するタイプである以上、

update hoge set status=1 where status=0;

みたいな真似ができん。また、 Criteria のような Fetch Request オブジェクトが必須なんじゃけど、そのリクエスト表現が SQL 直書きより低い、などが挙げられる。

定義ファイルでエンティティを設定でき、最悪でもソースコードをパースして、ツールキットがデータ構造を取れるようにする。共通のツールキットが使えるように、このように最低限のものを用意するけど、システム的にはオプションじゃけん、RDBMSにガンガンアクセスするようなもんは、各自のライブラリを使用すればOK。

ツールキット用に C++C#Objective-C の設定読み取りライブラリを別途提供予定。