Flex、AIR、Java、Androidなど

Archive for 1月 21st, 2009

21 1月, 2009

Compositeパターンの理解

Posted by: tachibana In: プログラミング

※この記事は私が本を読み、頭で考えたことを将来完全に理解してから見直して笑ったりするためにそのまま羅列したものです。故に間違った理解や意味不明なこともたくさん出てくると思います。プログラミングを教えるような立場の方には有益かも(笑)?
Compositeパターンの理解
入れ子構造を実装する為のデザインパターン?その入れ子になった構造に登場するモノ全てのスーパークラスとなるクラスを継承させることでメインクラス上では同じものとして扱うこと。
便宜上メソッドはスーパークラス上にて定義し、サブクラスがそれを実装できない場合には抽象メソッドで例外を投げるようにしておく。
定義は状況によって様々らしい。サブクラスで定義することもあれば、例外を投げないようにすることもある。
パターンで説明していることも利点も分かるのだが、「再帰的」という言葉の意味がぼんやりとしか分からん。。
ハノイの塔を使って説明されていた。
ハノイの塔の解法は理解できるが、どの部分が再帰なの?
というかここでの「再帰的」の意味は単純にそのアルゴリズム(この場合はフィールドやメソッドの定義といった方が適切か)を定義したものを他のものにも適用できることを言うのか?若しくはモノの中にそのモノがあるような状況?また、モノの階層が増えても簡単に解を出せるような構造のこと?ある親の子が更にその子を子として持つようなことができる構造のこと?
イマイチ分からん。
自分なりの結論:

プロジェクト内にいくつかのクラスから生成されたインスタンスがあるが、場合によってはそれらを周りから見て同じもの(厳密には等しくない)として見たいと思うときがある。そのような時には両方に同じ抽象クラスを継承させ、その型でメインクラスに組み込む。こうすることで同じように扱うようにできるが、モノによって実装するメソッドが変わってくるので実装が不可能な時は例外を投げるようにするなどして対策が必要。

コメントは受け付けていません。

21 1月, 2009

Strategyパターンの理解

Posted by: tachibana In: プログラミング

※この記事は私が本を読み、頭で考えたことを将来完全に理解してから見直して笑ったりするためにそのまま羅列したものです。故に間違った理解や意味不明なこともたくさん出てくると思います。プログラミングを教えるような立場の方には有益かも(笑)?
Strategyパターンの理解
説明を見るなりこれは魅力的だと思った。要は判定材料と判定結果は常に変わらず、それを判定するアルゴリズムのみを分けて実装し、そこを入れ替え可能にしようとする考え方。
判定アルゴリズムは基の抽象クラスをimplementするのでインスタンス化はクラスに依存しない。
やはり将来的に拡張するであろう箇所は前もって決め、抽象クラスを継承する形で実装するのが良いだろう。
そしてそれらのクラスを使う時はスーパークラス型を使うこと。
これが一番大事。
自分なりの結論:

プロジェクト内である判定材料を比較し結果を出すような場合は比較する部分だけを分離してクラス化し、委譲によりしょりをまかせる。これによりその部分の実装を変えたり、そっくり入れ替えたりということが簡単にできるようになる。

コメントは受け付けていません。

21 1月, 2009

Font Pickerが便利すぎる

Posted by: tachibana In: PCその他

はてなブックマークのトップにあったFontPicker。
テキストインプットに任意のテキストを打ち込むと、瞬時にインストールされている全てのフォントで入力したテキストを表示してくれます。
AIRで作られていて、技術的には何も難しいことはやっていないのですがこれは便利です。恐らく私も必携ツールとなるでしょう。

コメントは受け付けていません。
Tags:

Categories

 

2009年1月
« 1月   2月 »
 1234
567891011
12131415161718
19202122232425
262728293031  

About

Author: tachibana

  • ちょっとしたことはTwitterに書いています。こっちはアプリの公開等の時に更新されます。
  • 最近はもっぱらJavaとObjective Cです。AS3は飽きました。
  • スクリプト言語ではPerlが好きでしたが最近はGAE/Jで何でもやってます。
  • Linuxは自宅サーバー建てるのがやっとのレベルです。前の会社で何日も徹夜してやったのはいい思い出です。
  • アプリへのご要望などご意見等ありましたらお気軽にご連絡下さい。

Alternative content here