タグ

デザインパターンとオブジェクト指向に関するslay-tのブックマーク (4)

  • オブジェクト指向とは何か、という問いについて - Hot Heart, Cool Mind.

    4月も半ばを過ぎて、新入社員がプログラミング研修を受ける季節になったからだろうと思うが、オブジェクト指向談義が再燃している。ほとんど年中行事だ。 今年は、オブジェクト指向という用語をアラン・ケイの言った意味で使うのは「特権的」だという主張まで出たりした。 ギブソンが考えた「アフォーダンス」は、使い手と道具の関係性に関する概念だが、ノーマンはそれを「誤用」し、道具のデザインがもつ特性の話にした。現在では後者の方が広く受け入れられているように思うが、だからといって、アフォーダンスという用語はノーマンの意味で理解すべきだ、という話になるだろうか。 よくいって、アフォーダンスというひとつの言葉に対して2つの意味内容が「事実上」存在するということだ。そして、「来の」アフォーダンスは、と言えば、ギブソンのそれを指すに決まっているではないか。 それは、特権云々の問題ではなく、アフォーダンスと言う言葉を

    オブジェクト指向とは何か、という問いについて - Hot Heart, Cool Mind.
  • デザインパターンを読み解く

    ポリモーフィズム(サブクラスによる切り替え、抽象化) ここに分類されるのは、オブジェクト指向の第3原則、ポリモーフィズムを使用したパターンです。ポリモーフィズムを使用すると、動的に使用するクラスを切り替えることができます。<参照> 他に分類されているものでも、ポリモーフィズムが重要な位置を占めているものもありますが、ここではそれしか使われていないものを扱います。 ただデザインパターン全体を通して強調されているのは、インターフェースでプログラミングするということです。実装への依存をなくし、そうすることによって設計の骨組みを明らかにするのです。 Template 次のようなメソッドがあった場合に、処理Bのところを条件によって変えたい場合があるとします。 class Hogehoge { void doit() { ... 処理A ... ... 処理B ... ... 処理C ... } }

  • デザインパターンとともに学ぶオブジェクト指向のこころ を読んだ - takatoshiono's blog

    読んだ理由 最近、ソフトウェアの設計力が不足していると感じる。もっといい感じにクラスを設計して、オブジェクト指向ぽいプログラムを書けるようになりたい。しかもスピード感を持ってやりたい。ということで、いまさらだけど、オブジェクト指向についてもう一度学んでみようと思った。を読めばいいという訳じゃないけど、とりあえずもっと知識を増やしたい。渋谷の東急百貨店 7F の丸善&ジュンク堂書店に行って、 オブジェクトデザイン (Object Oriented SELECTION) エリック・エヴァンスのドメイン駆動設計 (IT Architects’Archive ソフトウェア開発の実践) オブジェクト指向のこころ (SOFTWARE PATTERNS SERIES) の3冊で悩んだ結果、これを買った。決める要因となったのは、 ついでにデザインパターンについて理解を深められたらいいなと思った これまで

    デザインパターンとともに学ぶオブジェクト指向のこころ を読んだ - takatoshiono's blog
  • アブストラクトファクトリ(Abstract Factory) | Ruby デザインパターン

    アブストラクトファクトリは、矛盾のないオブジェクトの生成を行うためのパターンです。 このアブストラクトファクトリをRubyコードで紹介します。 😀 ソースコードを使ったAbstract Factoryの説明Abstract Factoryをソースコードを使って説明します。 ここでは次のような池をサンプルとして取り上げます。 動物を表すクラス: アヒルを表すDuckクラスは、事(eat)メソッドを持っている カエルを表すFrogクラスは、事(eat)メソッドを持っている 植物を表すクラス: 藻を表すAlgaeクラスは、成長(grow)メソッドを持っている スイレンを表すWaterLilyクラスは、成長(grow)メソッドを持っている 池の生態系を生成するクラス: コンストラクタで動物と植物を定義する 動物、植物のオブジェクトを返すメソッドを持っている 池の環境(動物と植物の組み合わせ)

    アブストラクトファクトリ(Abstract Factory) | Ruby デザインパターン
  • 1