お待たせいたしました。オブジェクト倶楽部のクリスマスイベントの登録開始を下記日程より開始いたします。みなさんこぞってご参加ください。Typingについて学習します。Typingはあるオブジェクトがどのクラスに属するかより、オブジェクトがメッセージにレスポンスできるかに関心を払うプログラミングスタイルです。duck"(もしアヒルのように歩いて鳴けば、そいつはアヒルだ)の言葉に由来しています。Thomasによって、知られるようになりました。TypingをRubyっぽく表現プログラムっぽく先の言葉を表現するとつぎのようになります。Typingの場合、duckオブジェクトが属するクラスが何であるかを問いません。代わりに、duckオブジェクトがwalkのメッセージにレスポンスできること(duck.respond_to?(:walk))を期待します。場合、次のようになります。endend型重視の場合、duckオブジェクトの属するクラスがIDuckであること(duck.kind_of?(IDuck))を要求します。Typingの場合のduckオブジェクトがIDuckクラスの属さなくてもよいのに比べて、より制約が強くなっています。型重視の場合、変更が起こりそうな箇所を予言して、抽象クラス(インタフェース)を使って変更箇所を隠蔽し、それぞれのバリエーションをサブクラスで実現するように設計します。メッセージで変更箇所を隠蔽し、それぞれのバリエーションをレシーバ(メッセージの受信側)で表現します。Javaなどの静的型の言語の場合、リフレクションなどを駆使する必要がありますが、Rubyなどの動的型の言語の場合は、容易に実装できます。Typingの利点として、継承しなくてよい、あらかじめ抽象クラスを抽出する必要がないため、型重視と比べ変更が容易になる傾向があります(例えば抽象クラスに変更があったら、サブクラスもメンテナンスが必要)。欠点としては、静的型の言語の利点として上げられる厳密なコンパイルチェックができないなどがあげられます。発が重要な役割を担っています。今回の例では、respond_to?やkind_of?を記述しましたが、説明をしやすくするためで本来は記述しません。Typingに近づくことができます。Typingを初めて学習したとき、「ポリモフィズムを表現するのに「抽象クラス(インタフェース)と継承(実現)がなくてもいい。メッセージがあればポリモフィズムを表現できる」ことを知ってびっくりしました。いや、いろいろ学ぶことありますねぇ〜。Typingについてのもう少し具体的に学習していきたいと思います。Rubyhttp://www.amazon.co.jp/o/ASIN/0974514055/xpjp-22●その他fooooダックがフォー。(IENAGA)_______________________________________________________________________この記事への評価にご協力をお願いします。URLをクリックして、「ご協力ありがとうございました」のメッセージがご使用のブラウザに表示されれば投票完了です。Agileなツール紹介[5]●はじめに今回のアジャツールは、王道のホワイトボードに触れたいと思います。読者の中には、ホワイトボードに思い入れが強い方がたくさんいらっしゃると思います。ホワイトボードについて語りたいという方がいらっしゃいましたら、editors@objectclub.jpまでドシドシ投稿してください。今回はホワイトボードの種類について考察してみます。素材で分類したり、印刷可能かどうか、スクロールできるかどうか、マグネットが使えるかどうか、様々な切り口で分類できるのですが、今回はこの3つの形態を中心に見ていきます。●壁面設置型スペースが許せる場合に設置しておきたいのが、この壁設置型のホワイトボードです。この壁設置型の利点は、なんといっても壁面に固定されているため、グラつかず書きやすいという点です。一度設置してしまうと移動できない点や、壁面にホワイトボードを設置するだけのスペースがない場合は敬遠されることがあります。オブジェクト倶楽部の事務局がある永和システムマネジメントの品川オフィスでは、会議室及び作業フロアの壁面に巨大なホワイトボードが数枚設置されています。このボードは本当に書き味が良く、幅もかなり大きいことから個人的にお気に入りなのです。お客様の所やイベント会場など様々な場所でホワイトボードを使ってきましたが、このホワイトボード以上に書きやすいものはまだお目に掛ったことがありません。いつもホワイトボードの近くの場所の取り合いになってしまいます。ホワイトボードではなくホワイトボードシートを表面にコーディングしたマグネットシートや粘着シートなども存在します。これは直接壁面や、スチール面に貼り付けて使用します。ホワイトボードシートは大きなサイズを指定することができるので、壁面全てホワイトボードということも可能になります。一度貼ると剥すことができない(粘着シートの場合)点や、壁面がゴツゴツしているとシートの表面もゴツゴツしてしまい、書きづらいこともあります。最近では静電気で貼り付けることのできるシートも存在しますね。●脚付き型オフィスでもっとも普及しているのがこのタイプのホワイトボードかもしれません。脚付きで移動できるため、使いたいところで使うことができるというのが最大の利点でしょうか。このタイプのホワイトボードではスクロールが可能になっていたり、両面使用できたり、書いた内容を印刷できるものも多く普及しています。使い勝手という点では壁面設置型を凌駕するのではないでしょうか。筆者はこのタイプのホワイトボードはきちんと固定されていないという点で若干書きにくさを感じます。ボードの表面がツルツルしているものが多いせいか、ホワイトボードマーカーの粉が残りやすかったり、若干書きにくいと感じたりしてしまうという欠点もあります。ボード面については商品にもよりますので一概には言えないですけどね。●携帯型プロジェクトファシリテーション[*1]のグッズとしても紹介されている携帯型のホワイトボード(ペアボード)は、個人用途でメモ代りに使ったり、気軽に持ち運びできるという点が他のタイプと大きく異なっています。用され方と同じように、日常会話の口頭コミュニケーションを補完するというコミュニケーションツールとしての役割も強いと言えるでしょう。サイズも様々でA5サイズからA1サイズまで様々なサイズのボードが市場を賑わせています。このタイプのホワイトボードは、持ち運びも可能ですが、フックに吊るしておいて壁面設置型としても使用することができます。オフィスではあまりないかもしれませんが、家庭で使用する際にはこのケースが多いのではないでしょうか。オブジェクト倶楽部のメンバーが愛用しているペアボードはA3サイズ、平鍋さんが携帯しているのは(文字通り持ち歩いている!)B4サイズです。本当にパーソナルな使い方なら、A5やA6でも十分かもしれません。ちなみに筆者の自宅には3枚のホワイトボード(A4、A3、A2)があります。●その他のタイプここまで設置場所という観点から3つに分類して説明してきましたが、最近見つけたホワイトボードはいずれにも属さない新しいタイプのホワイトボードです。Board」[*3]は、今までの3つの分類どれにも当てはまり、更に「立て掛ける」ことが可能なホワイトボードなのです。高さ180cmという立て掛けるのに十分な高さに、持ち運びに楽な軽量ということもあって、どこにでも移動して立て掛けておくことができます。Board」ならば、机の上に置いて使用することもできますし、両面使うことも、横長で使うこともできます。筆者が今作業しているスペースには、ホワイトボードを設置する十分なスペースも、常用使用できる脚付き型のホワイトボードもありません。壁面を空けてマグネット式のホワイトボードを貼って使っていますが、十分な大きさだとは言えません。Board」はホワイトボード自体を「立て掛ける」という点が衝撃的でした。素材としてカットできるため、自分の使いやすい大きさにして使うのもいいでしょう。実際に私の知人は、このホワイトボードを手頃な大きさにカットして使っているようです。ホワイトボードを壁として、更に机の上までホワイトボードになっているそうです。壁一面ホワイトボードという部屋は、アジャイル関連の文献によく登場しますが、机までホワイトボードになってしまうと、ホワイトボードを設置している」という感覚ではなく、「ホワイトボードの中で作業する」という感覚になってしまうのではないでしょうか。Modelingでもホワイトボード(特に壁そのものがホワイトボードである)の重要性を問いています[*5]。アイディアを記録し、議論を視覚化して共有し、イメージを表現するホワイトボードは、知識労働者には必須のアイテムと言っても過言ではないでしょう。白という色は、「心も身体も浄化されて、新しく生まれ変わるような感じをもたらし、素直で明るい心をつくる」そうです[*6]。精神的な面にも効果があるのかもしれません。●まとめ今回は、ホワイトボードについて設置場所による分類と、その解説をしました。次回は引き続きホワイトボードについて取り上げる予定です。(懸田)[1]:http://www.ObjectClub.jp/community/pf/[2]:http://www.souzai.jp/[3]:http://www.souzai.jp/products/plate/lwb.php[4]:http://kakutani.com/20051105.html#p02[5]:http://www.agilemodeling.com/essays/agileModelingRoom.htm[6]:http://yahana.ld.infoseek.co.jp/iyashi_1.htm_______________________________________________________________________この記事への評価にご協力をお願いします。URLをクリックして、「ご協力ありがとうございました」のメッセージがご使用のブラウザに表示されれば投票完了です。ホントのところ今週は「個人でインターネットをする場合、1日平均何時間していますか?」のホントのところ。3時間以上10時間未満。2時間以上3時間未満。