俗にいう「オレオレ」である。
来年の抱負を考えるに当たり、一度まとめてみる。
AmidaMVC
恥ずかしながら、まともにMVCフレームワークを使ったことがなかった。ルーティングやらコントローラーぐらいのコードは読んではいるけど、理解しているとは言いがたい。じゃ、一度作ってみるかと…
最初は1ヶ月ぐらい開発して雰囲気がつかめたら終了と思っていたが、意外と面白く、書き直しも含めて数ヶ月近く作ってた気がする。
これを開発しながらPHPStormの使い方を覚えた。
またBEAR.Sundayなどのブログを読みふけっていた。
特徴はChain of Responsibility(CoR)というデザインパターンをフロントディスパッチャーとして使ってること。Request、Routerなどもモジュールの一つと捉えて、モジュールを次々と呼び出す。CoRは極めて柔軟性が高くて、使うモジュールを途中で差し替えたりできる。
もう一つの特徴は、マークダウンのファイルを、そのまま読み込んで、ヘッダー・フッターを付け加えたりできる。
さらに、テンプレートも裏に入っているので、githubからcloneして、中身をマークダウンで書けば、綺麗なサイトができる。エディターまでつけてしまって、もうフレームワークというよりCMSな感じになった。
そしてファットなフロントエンドが出来上がった。
ちょっと太りすぎで、今ひとつな感じになってしまった。
WScore
今、開発中のフレームワーク。
というかデータマッパー。
Doctrine2にフォーム生成をくっつけた感じ。
なので厳密にはフレームワークとは言えないかも。
目標は、
・今まで使っていたライブラリとの互換性を(ほんの少し)残す、
・「Cenaデータ転送エージェント」に対応する、
・できるだけ簡単かつ少ないコードで、
・最近学んだ「正しい」オブジェクト指向で開発する、
などで、個人的な内容が多いかな。
オレオレだから仕方がない。
開発して一ヶ月で意外と早く動き出した。その後、DCIに目移りして一ヶ月ほど寄り道したりしたけど、ただ、動くのと使いやすいのは違っていて… ある程度、動き出してからの修正に時間がかかってる。テスト書いていてよかった、と身を持って経験できた。
今は、多対多のリレーション絡みが少し抽象化が弱くて、Cenaに対応させるのに苦労しそうな感じです。とは言えサンプル・デモでは、Cenaをスキップさせることで動いてしまいましたが。
あとは1+N問題の対応とか、本格的に使うには
もう少し時間が必要そう。
0 件のコメント:
コメントを投稿