OpenPNE_Imgリファクタリング中のクラス図を描いてみた

OpenPNE_Imgリファクタリング中のクラス図を描いてみました。

使用したツールは昨日使ってみた UMLet です。コピペできないのが辛いところでしたが、

  • おおまかなデザインをUMLet上で決めておき、保存
  • 生成されたXMLを直接書き換える

これでサクサクといけました。

できあがったクラス図はこちら。

(縮小なし画像)

ざっくり見ただけでも、

  • アクセス権が適当
  • ゲッター/セッターを特に理由もなく用意してたりしてなかったりバラバラ
  • ラッパーとなる OpenPNE_Img はもっとシンプルなインターフェースがいい
  • Template Method Pattern を利用している OpenPNE_Img_Storage の大半のメソッドが返り値の型を定めていないのは適当すぎやしないか
  • OpenPNE_Img_Generator は、キャッシュ関連のコードのせいでかなり複雑化している
  • OpenPNE_Img_Generator に明らかに GD 依存のメソッドが残っている。OpenPNE_Img_Generator_GD が一見シンプルなように見えるのはそのせい
  • 逆に OpenPNE_Img_ImageMagick が無駄に肥大化している印象。多分キャッシュ周りはもっとうまく回せる

などの問題点があることがわかっていいですね。