データの保存は何単位?
今日日のデータは、データ同士に関連があるけん、複数のデータを同時にセーブせんといけん場合が多い。この状況を、「ストレージからメモリに読み出したデータ群を加工した。さて、どこにセーブをオーダーするか」と言い換えると、
- 加工されたデータひとつひとつに対して、ストレージへのセーブをオーダーする
- メモリに読み出されたデータを管理しとるコンテキストにセーブをオーダーする
という二つの考え方があるみたい。
XoopsObject/XoopsObjectHandler は前者です。
ただ、Webは1リクエストで1回起動して、そのまま実行を終えてしまうメインループのないプログラムじゃけー、そのコンティニューションを考えると、コンテキストというもんを強く意識する必要はない状況と言えるかもしれん。じゃけん、実装としては(プログラムの字面は)前者なんじゃけど、事実上、後者と同じ意味合いになる……そがなWebフレームワークが結構多いように思う。
そんなこんなで今日もソースを読む……
ちなみにソースが入手できるものとしては圧倒的にWeb系が多いんじゃけど、データベースに紐づけないデータモデル運用として参考になるのはストレージにデータベースを使うとは限らん Web でないプログラムの方なんじゃが、今度はソースの入手量が圧倒的に少ない*1。
ただ、テキスト読み書き、バイナリ読み書き、サービス読み書きを試験的に実装してみると、ちゃんと動くけん、ほうよ XC でやりたいんはこれなんよ、と思ってしまう。