netail.net
自作フリーソフトや,ゲームに関する雑記を公開してます.
日記はソフトウェア工学の論文ネタが中心です.
最近のお知らせ (古いものはこちら)
2005-07-20 ▲
2006-07-20 ▲
_ [hyCalendar] 1.4.0 バイナリだけ ▲
ヘルプファイルを書き直そうと思ってるわりにぐだぐだしてるので,1.4.0バイナリだけを置いてみます.
期間予定を土日祝日だけ非表示にしたい人,「5日おき」のように定間隔の予定を書きたい人,「〜〜まであとX日」とか書きたい人向けの機能拡張が入ってます.変更点のリスト参照のこと.
当然ながら,新たな情報がファイルに保存されるので,データのバックアップをしてから使ってみてください.
「1月1日から1日おき」という表現だと1月1日,3日,5日...とか容易に想像できるんですが,1月1日,11日,21日...の予定を「9日おき」と表現するのはいまいち分かりにくい気がしました.そのため,「10日に1回」という表現を使ってみていますが,どうでしょうか?もっといい表現があるよ,という方がいらっしゃいましたら,お教えいただけると幸いです.
_ [読書] Heuristics 本の,さらに続き. ▲
Object-Oriented Design Heuristics 6章〜9章.このあたり,あんまり新規な内容はなかったので短くメモ.
6章は「多重継承は正しく使おうね」という話だけ.
7章は「association」の解説.use でも containment でも inehritance でもない関係のこと.たとえば,車とメーカーがあるとき,車とメーカーオブジェクトが互いにメソッドを呼び合うわけでもないし,互いに所有関係にあるわけでもないが,どのメーカーがどの車を生産したか,という関連を持っている.で,車が持つメーカー名のような属性はメーカーオブジェクトを発見するための参照用の属性(referential attribute)だとしている.referential attribute を使うと,クラスの外部で間接的な利用関係を定義できる.たとえば「特定のメーカーの車を回収する」recall クラスなんかは,メーカークラスの機能数の増加を抑えるために有効だと言及されている.ただし,containment に比べると,「こう使ってほしい」という情報を外部に公開する分,クラスを使う側が理解する必要のある情報が増えてしまうので,containment を選べるならそうしたほうが良いと述べている.
8章は,オブジェクトに固有のIDを割り付けるといった,オブジェクト単体では対処できない振る舞いをメタクラスでモデル化しましょう,という話.メタクラスといっても,実装としては C++ や Java での static 宣言とか C++ でのテンプレートとかになるけど.
9章は physical design として,論理的な設計をプラットフォームに落とし込むときにどうするか,という話.プラットフォーム依存な設計をするのは良くないが,設計案が複数あるときに,実装上コストがかからないとか,プラットフォームの情報を使った意思決定は別に良い,と言っていたりする.あとは,ラッパークラスを使って外部システムをオブジェクトに見せることで従来のシステムやデータを再利用できるので良い,という話とか.この辺の内容は,普通の設計関連の本ではあまり見たことがない気がする.