2007-08-01から1ヶ月間の記事一覧

RubySapporoNight vol.2

9/5日(水)に、アップルストア札幌にてRubySapporoNight vol.2を行います。 開催概要 * 日時:9月5日(水) 19:00 〜 20:00 * 場所:アップルストア札幌 * 内容:Rails特集 * 費用:無料 http://jp.rubyist.net/?SapporoWorkshop3 札幌の方は仕事帰りにでもどう…

今号のWEB+DB PRESSはパターン特集

WEB+DB PRESS Vol.40作者: 後藤章一,竹端進,角谷信太郎,池邉智洋,松永充弘,永安悟史,高林哲,児玉サヌール,田中ばびえ,たつを,小飼弾,宮川達彦,竹下肯己,角田直行,きたみりゅうじ,尾島良司,和田啓,田中邦裕,山本陽平,伊藤直也,天野仁史,繁田卓二,江川崇,長谷…

Collection Accessor Method

インスタンス変数がコレクションを保持する場合、コレクションに処理を委譲するアクセサを用意しましょう。 インスタンス変数に関するパターンです。 インスタンス変数がコレクションを保持する場合、Getting Methodを使ってコレクション自体をクライアント…

Setting Method

インスタンス変数と同じ名前の変数の値を設定するメソッドを作りましょう。 インスタンス変数に関するパターンです。 Indirect Variable Accessで使用するアクセサのうち、設定を行うものをSetting Methodといいます。 class Point attr_accessor :x, :y def…

Getting Method

インスタンス変数と同じ名前の変数の値を返すメソッドを作りましょう。 インスタンス変数に関するパターンです。 Indirect Variable Accessで使用するアクセサのうち、参照を行うものをGetting Methodといいます。 class Point attr_accessor :x, :y def ini…

Indirect Variable Access

インスタンス変数の値を取り出したり設定したりするためのアクセサを用意しましょう。 インスタンス変数に関するパターンです。 Rubyだとattr_accessorを使うことで、簡単に間接アクセスを実現出来ます。 class Point attr_accessor :x, :y def initialize(x…

Method Object

たくさんの引数や一時変数であふれてしまったメソッドを整理したい場合は、メソッド呼び出しを表現するオブジェクトを作成しましょう。 メソッドの整理に関するパターンです。 当初はシンプルだったメソッドでも、コードに手を入れていくうちに、行数や引数…

Execute Around Method

必ず対で実行しなければならない処理がある場合は、ブロックを受け取るメソッドを定義しましょう。 振る舞いの実現に関するパターンです。 ファイルをオープンしたら最後に必ずクローズしなければいけないといった、必ず対で実行しなければならない処理を実…

Role Suggesting Instance Variable Name

インスタンス変数には役割を表す名前をつけましょう。変数がコレクションを持つ場合は、複数形の名前にしましょう。 インスタンス変数の命名に関するパターンです。 変数は変数名と型によって構成されます。そのうち、型については、その変数が何を出来るか…

Intention Revealing Message

実装の意図を表現する手段としてメソッドを活用しましょう。 メソッドの定義に関するパターンです。 メソッドを定義することの最大の意義は、実装の読み手に対してそのコードの意図を伝えることにあります。たとえ、たった一行の実装であっても、意図を伝え…