« Direct3Dを自前で…… | メイン | Google パーソナライズ »

2005年11月06日

mixi Alert 開発日誌:: 設計変更

    

初期の設計のままで、今まで機能拡張を行ってきたが、更新情報リスト機能を追加するにあたって一部設計をしなおすことにした。
そして、HPアクセス部分を設計し実際にコーディングした。
この部分の設計自体はかなり汎用的で、アクセスする対象がmixiじゃなくてもそのまま適用できる。
CHomePageクラスにどこのページの情報が欲しいと要求すれば、そのページの情報が扱いやすい状態で返ってくるといったものになっている。
ただし、実装自体はmixiに特化しているので、他のページを扱う時にソースコードをそのまま持っていくといったことは出来ない。
そもそも、そのようなことは現在考えていない。
どこかのページへアクセスして何かする場合は、perl+wgetで作るか、phpにすることが多いので、あまり汎用的なソースコードにしても今は仕方ない。

特定ページの情報が得られた後は、フィルタークラスを使って情報をふるいにかける。
オプションでOFFにされているものや、前回と同じものなどはフィルタークラスを使って削る。
フィルタークラスは継承を使っており、簡単に情報のふるいを実装できるようにしている。

ふるいにかけられた情報はNotifierに渡される。
Notifierは、サウンドを鳴らすや、ウィンドウを表示するなどを実装したクラス。
これもフィルタークラスのようにして、通知方法を追加しやすいようにしている。
機能追加予定にあるメールで通知する機能も、このクラスで実装する。

と、今回はここまでの設計変更にしようかと思っていたのだが、オプション設定周りも変更してしまおうと思い直す。
まあ、今回の変更が終わった後、MVC的な構造にしようと思っていたので、遅かれ早かれ変えるつもりではいたが。
と言うことで、その辺りを今設計中。
クラス図がかなり大きくなってきた。

こうなってくると将来追加しようと思っている機能の設計もやってしまったほうがいいかな。
ついでに実装もしてしまうか?
今まで細かくリリースしてきたけど、今回で予定しているものをほとんど実装してしまって、無駄に拡張性を持たせた構造にするのもいいかも。
でも、そうなると1週間ぐらいかかってしまうなぁ。
後、2、3日で出来る程度にとどめておくか。

しかし、今回の設計変更でクラスの数が増えた。
前は5個ぐらいしかなかったのに。
その分機能追加が行いやすい構造になってはいるが。



投稿者 Takenori : 2005年11月06日 01:46




comments powered by Disqus
Total : Today : Yesterday : なかのひと