タグ

関連タグで絞り込む (1)

タグの絞り込みを解除

OOPとprogrammingに関するe-kurodaのブックマーク (3)

  • Flaw: Constructor does Real Work

    Work in the constructor such as: creating/initializing collaborators, communicating with other services, and logic to set up its own state removes seams needed for testing, forcing subclasses/mocks to inherit unwanted behavior.  Too much work in the constructor prevents instantiation or altering collaborators in the test. new keyword in a constructor or at field declaration Static method calls in

  • “オブジェクト指向”の本質 - Smalltalkのtは小文字です

    「OO(OOP)とは何か?」については、ネタが割れてしまえばそんなに複雑なものではない…と個人的には最近、考えるようになってきています。 リスコフのユーザー定義型(aka、抽象データ型。データと手続きのセット)そのもの、あるいはその「ユーザー定義型」をクラスやそれに準ずる機能で実現しようとするOO(ストラウストラップ。aka、クラス指向。継承を使ったプログラミング)。もしくはそれらを一般化したOO(クック。aka、手続きによる抽象化)。 メッセージングにより動的性を実現しようとするOO(ケイ。aka メッセージ指向) 今回登場した、後者のメッセージングのOOのミニマリズムをおしすすめることによって派生的に生じたOO(アンガーとスミスからの 派生 変形。aka、プロトタイプベースOO。フレームとスロット、あとは委譲機構があれば十分…というミニマル化の結果、アンガーとスミスの頃には重要だった“

    “オブジェクト指向”の本質 - Smalltalkのtは小文字です
  • OOコード養成ギブス - rants

    Binstock on Software: Perfecting OO's Small Classes and Short Methods The Pragmatic Programmersシリーズの新しい、The ThoughtWorks Anthologyの中に 興味をそそるエッセイがある。Jeff Bayの"Object Calisthenics"だ。 これは良いオブジェクト指向の性質を実証する小さなルーチンを書く方法をマスターするための 詳細にわたるエクササイズだ。オブジェクト指向なルーチンを書く能力を向上させたい開発者がいるなら このエッセイに目を通すことを勧める。ここにBayのアプローチを要約してみよう。 彼は次にあげられる制約のもとに1000行のプログラムを書くことを勧めている。 これらの制約は意図的に過剰な制限となっているが、これは開発者を手続き的なやり方から脱却させるた

    OOコード養成ギブス - rants
  • 1