タグ

開発とoopに関するglcsのブックマーク (6)

  • まつもと直伝 プログラミングのオキテ 第3回(1)

    今回は継承についてより深く学びます。特になぜ多重継承が必要なのか,多重継承にはどのような問題があり,JavaRubyがどのように解決しているのかを学びます。 前回はオブジェクト指向プログラミングを構成する3原則(ポリモーフィズム,データ抽象,継承)のうち,継承について扱いました。人が一度に把握,記憶できる概念の数には限りがあること,これを解決するため,クラスのうち似たような部分をくくり出す仕組み(継承)が必要であることを解説しました。継承はプログラムの構造化,抽象化の流れが自然に進化した形として登場したとも説明しました。 しかし,最後の部分は厳密には正しくありません。構造化,抽象化とは,共通部分をスーパークラス(親クラス)としてくくり出すボトムアップ・アプローチを意味します。このように継承が誕生したのであれば,最初から複数のスーパークラスを持つことができる多重継承*1が主流だったに違いな

    まつもと直伝 プログラミングのオキテ 第3回(1)
  • 【 ほでなすPHP 】 PHP5の基本

    続・PHPの基::PHP5の基 PHP4からPHP5になって、クラス・オブジェクト関係の仕様が大きく変更・機能強化され、また「例外処理」その他の機能が追加されました。 このページは「PHPの基PHP4対応のPHP講座)」のページの続編(PHP5の基編)です。このページでは、PHP5で変更・追加された各種機能について解説しています。 目次 オブジェクトの代入 【clone()命令】 メンバのアクセス制限 【public、protected、private】 スタティックメンバ/クラス定数 【::演算子、static、self、parent、const】 コンストラクタとデストラクタ 【__construct()、__destruct()】 特殊メソッド/オートロード 【__*()メソッド、__autoload()関数】 オブジェクト引数のクラス指定 例外処理 【try、thro

  • UML2メタモデルを読む- 知識とは何か?

    前回「ソフトウェアは知識の結晶」はソクラテス式対話編その2として「知識」とは何かについて考えてみました。 知識は学習と実践を繰り返して体で覚えるものである 知識は仕事の原動力である。仕事とは顧客に価値を生み出すことである。ゆえに知識とは価値を生み出す原動力である 知識は凝集させて結晶化させる人と結晶を解放して利用する人がいる。この結晶は利用者にとっての価値である この光り輝く結晶こそが(広義の)ソフトウェアであり、それは直接には目に見えないし手で触れない。しかし確かに存在するものである。存在を感知できる人にとっての価値である 今回はUML2仕様書を題材にして「メタモデル」を読みながら、あらためて「知識とは何か?」について考えてみたいと思います。 [登場人物] ソクラテス ソクラテスの弟子筋の某 司会 司会 UMLは知識を表現するための1つの道具です。UMLで表現されたモデルは知識の結晶です

    UML2メタモデルを読む- 知識とは何か?
  • 2004-08-29 - 引用するだけの日記

    glcs
    glcs 2008/01/24
    ラオウの例えがなんか面白かった
  • 2006-10-09

    モデラーはいつも抽象的な現実しか語らない。 概念なんだからしょーがねーだろ っと言われるかもしれないが、 実際問題使う人たちが理解に苦しむのであれば 提供側はもちっと考えるべきである。 ユーザを苦しめるのがベンダの仕事か?ってことにYesYesYesと答えるのは ユーザをないがしろにしている事実にほかならない。 ポリモルフィズムを語る際に、必ずコードが単純になるよってことしか言わない。 再利用性が高まることを示すにはサンプルコードはあまりにも少ないのだ。 理解を促すために必要なのは前提と結論と過程の3つであり、 巷にあふれる説明には過程がカケラしかない。 ふっとぐぐったらこんなんみつかったのだが、中身はひでぇもんだ。*1 コードに落とし込む時、メソッドの役割は2種類必要になる。 ・実処理 ・実処理を呼び出すだけの処理 *1:世で見る普遍的な言葉という意味では「平均的」なのだが、 世の中の平

    2006-10-09
  • Singletonパターン

    ふつうのオブジェクトは、どこで生成して、どこで保持して、…ということを、きちんと考えないといけない。いろいろな箇所で使う場合は、関数やクラスの間で、オブジェクトを受け渡してあげないといけない。 ところが、Singletonは、そのようなことをまったく考えずに、アプリケーションのどこでも自由に使える。 これは、よく考えてみると、次のようなコードと同じである。 つまり、グローバル変数の代用として、Singletonパターンを使ってしまっているケースがある。 変数をグローバルに宣言してしまえば、どこからでも参照できるので、手軽である。そのため、プログラミングの初心者には、グローバル変数を多用したがる人もいる。 グローバル変数を多用するのが誤った考えであることは、大抵の人は理解している。にも関わらず、グローバル変数の代用として、Singletonパターンを使っているケースが、少なくない。 この背景

  • 1