タグ

programmingとoopに関するtlyncのブックマーク (4)

  • BOOK Preview:Code Complete 第2版 第6章 クラスの作成(1/8) - @IT

    コーナーは、.NET関連の新刊書籍から主要なチャプターをそのまま転載し、その内容を紹介するものです。 今回は、日経BPソフトプレス/マイクロソフトプレスより2005年3月28日に発行の書籍『Code Complete 第2版 上 ― 完全なプログラミングを目指して』より、同社の許可を得てその内容を転載しています。 同書は、11年前に出版された名著「Code Complete」の第2版です。第2版では、全体をとおしてオブジェクト指向の考え方が反映され、リファクタリングの章なども追加されています。また、開発言語としてC#やVisual Basic .NETも取り上げられています。“完全な”コーディングのための鉄則を凝縮した書は、開発者ならば必読といえるでしょう。 記事では「第6章 クラスの作成」の前半部分を転載しています。クラスを記述しようとすると、どちらの実装がより美しいのだろうかとい

  • 賢いデータは必要なのか (arclamp.jp アークランプ)

    きっかけは、「オブジェクトからサービスへ」というエントリに対して、通りがかりさんからコメントいただいたことだった。これまで、長い間、もやもやしたものを感じていたのだ。 オブジェクト指向のを紐解くと、データと振る舞いをクラスにカプセル化すると書かれている。僕も疑問は、そもそも、それが正しいのか、つまり、データに振る舞いを持たせる必要性があるのだろうか?賢いデータは必要なのか?ということだ。 Javaでは、データと振る舞いの分離が進んでいる まず、現状として、Javaの世界では、データと振る舞いの分離が大きくすすんでいる。EJBにしても、EntityBeanとSessionBeanというのは、データと振る舞いの関係にあり、分割がよいこととされている。さらに、O/Rマッピングツールが流行するにつれ、データの保持クラスはPOJOとなった。一方、ビジネスロジックは、FacadeやServiceと

  • 『ドメインモデルに対する日米の温度差』

    マーチン・ファウラー氏によれば、アプリケーションの中核部であるビジネスロジックを構築する方法には、Transaction ScriptパターンとDomain Modelパターンの2通りがあるという。Domain Modelパターンは、データと振る舞いを1つのオブジェクトにまとめ、オブジェクト指向のテクニックを駆使するやり方だ。一方のTransaction Scriptパターンでは、データと振る舞いは別々のオブジェクトに分け、振る舞いをスクリプト的に淡々とプログラミングしていく。 日ではTransaction Scriptが優勢 この2通りのうち、日ではTransaction Scriptパターンの方が優勢だ。日のオピニオンリーダーも軒並みTransaction Scriptを薦めている。 たとえば、Seasarの開発者であるひがやすを氏は、古くからデータと振る舞いを分離するアプローチ

    『ドメインモデルに対する日米の温度差』
  • 無題ドキュメント

    今回は、もっとも基的であるわりには、意外と問題の多い「継承」について考えてみたいと思います. 型の拡張は、2つの機構を使って行われます.すなわち継承と総称です. 継承は下位型による多相性(Subtype Polymorphism)を実装し、総称はパラメータによる多相性(Parametric Polymorphism)を実装します. 継承は大きく型継承と実装継承(クラス継承)に分類できます.この場合、型とクラスの関係に注意が必要です. 型はオブジェクトのインターフェイス、すなわちオブジェクトの振る舞いの定義です.他方、クラスはオブジェクトの内部状態とオペレーションの実装を定義しています.クラスは同時に型を定義する場合もありますが、言語によっては必ずしもそうとは言い切れません. 型継承は所謂is-a関係の継承で特化specializeです.これは、インターフェイスの継承ともとれますし、

  • 1