ログ日記

作業ログと日記とメモ

simpletestでの改行コードの取り扱い

simpletestのWebTestCase。
バージョンアップで改行コードの扱いが変わった?
simpletestでデータを比較するときの改行コードは全て\r\n(CRLF)になったっぽい。
前は\n(LF)で表示されているHTMLはそのまま\nでチェック出来てたからどこのエラーか分からなくてハマった・・。

クラス図

自分で作ったやつのクラス図を書いたら大変なことになってたから、今構造を変更しているところ。


他のフレームワークのクラス図も見たくなって、どこかで見たなーと http://moony.sourceforge.jp/ を見ると・・図がなくなってた・・。
ぐぐってもあんまり出てこないな・・クラス図からコードを生成するフレームワークとかじゃなくてフレームワーク自体のクラス図が見たいんだが。。


IBM developerWorks 日本語版 : 大変申し訳ありません。このページは無効です。
うーん。あまり手助けにならないな・・。


取り敢えず自分の修正途中のクラス図はこんなん。


ControllerとClassUtilsとRequestがちょっとまずい気がするのでどうしようか考え中。

mapleのクラス図

mapleのクラス図を大ざっぱに作ってみた。

Loggerは殆どのクラスから参照されてるので省略。
FilterChainの中からコンテナを使ってFilterChainを取得したりFilter_ValidatorからFilterChainを実行したりと難解だ。
FilterChainはチェーンを実行していくのではなくて、個々のFilter_*が後始末としてFilterChainを実行するということかな?


図の下半分はフィルタなので、それを省くとすっきりした図にはなる。
でもビューがフィルタで実装されている?から特定のフィルタは必須だと思う。



ついでに分からなかったところ。LoggerとかDIContainerとか、ファクトリクラスから生成してるんだけど何か意味があるんだろうか?
interfaceを使ってるわけでもないし・・DIContainerFactoryクラスの中に new DIContainer(); とべた書きしてるから特に意味がない気がする。



誰か偉い人が分かり易いクラス図書いてくれないかなぁ。

フレームワーク自体についてレイヤで分離することを考える

フレームワークの構造をすっきりするために、goyaDxoの概念を取り入れるのはどうか。
若干haskellの影響もある。
リクエストや設定ファイルなど、不確定要素を持つものとフレームワークのコアを分離する。
その橋渡しをDxo的なレイヤで行う。
リクエストデータは素通りとしても設定ファイルはエラーチェックが必要なので、エラーが無いと判断された時だけコアに必要な部分を渡す。


という思いつき。


または「クラス操作」「データ操作」「フレームワーク制御」などのグループに分けてやり取りを限定する。



・・・うーん。