家計簿(15)

何気に開発は続いています。先週ぐらいからorz
前回は、関数型言語よろしくな高階関数なユーティリティクラスを作ったのですが、それがMVCモデルにしっくりこないということで、Containerクラスに高階関数用メソッドを追加し、非破壊にContainerの内容を変更できるようにしました。
これで、家計簿用オブジェクトを管理するContainerクラスは、filter、sort、map、foldを持ったことになり(若干、ニュアンスが異なるが)、超強力なコレクション管理を行えるようになります。さらに、Containerクラスは親子階層を保つことができ、ルートを変更すると、全ての子供へ変更が反映されるという無駄な仕様を持っていますので、MVCのモデルにすると強力。
つぎは、このContainerクラスを実際にGUIに組み込んで、事実上、MとVの接続のためのコーディングを0にしたいなあという思惑です。