fc2ブログ

奇特なブログ

「殊勝に値する行いや心掛け」を意味する、奇特な人になる為のブログです

フレームワークやライブラリはカスタマイズ可能な作りにしましょう

タイトルの様にした方が良い理由は到って単純で、

仕様変更や特殊な仕様に対応する為です(苦笑)


例えば、以下のリンク先の一番下の回答にあるソースコードの場合。

finalメソッドの使いどき

以下の様に書いた方が良いのでは無いでしょうか。



class Framework {

public function execute() {
$this->a();
$this->b();
}

protected function a() {
// デフォルト実装
}

protected function b() {
// デフォルト実装
}
}



まず、executeメソッドにfinalは付けない方が良いと思います。
何故なら、aメソッドとbメソッドの処理「しか」行わないという「保証」が有りません。
また、aメソッドとbメソッドの処理の順序も「必ず」この順序なのでしょうか。

aとbメソッドについては、ケースバイケースかと。
そのメソッドが何をしたいのかによって、
abstractを付けたり付けなかったりするので。

とにかく、finalは止めましょう。
メソッドに限らず、当然クラスもです。
クラスにfinalを付けると、継承すら出来なくなります。
唯一の例外は、ユーティリティクラスでしょうか。

フレームワークやライブラリは「色んな人」が使います。
業務上、カスタマイズする事も多いです。
なので、「隙間の無いガッチガチ」な作りにはしないで、
「隙間が有って余裕の有る」作りにした方が良いと思います。
筆者も気をつけますので(苦笑)

スポンサーサイト



テーマ:日記 - ジャンル:日記

  1. 2011/02/14(月) 01:06:11|
  2. プログラミング
  3. | トラックバック:0
  4. | コメント:0
<<センスが無くたって出来る | ホーム | PHPのセッションの保存先と関数群について>>

コメント

コメントの投稿


管理者にだけ表示を許可する

トラックバック

トラックバック URL
http://kitoku1.blog129.fc2.com/tb.php/93-2020f8a3
この記事にトラックバックする(FC2ブログユーザー)