Devlove 名古屋 2014-5-18 DDD, Object Oriented Design, ドメイン駆動設計 オブジェクト指向設計
先日書いたstaticおじさん達に伝えたい、手続き指向とオブジェクト指向の再利用の考え方の違いについて - 達人プログラマーを目指してのエントリに、なんと、みながわけんじ氏ご本人よりコメントを頂きました。もともとは一般のstaticおじさん達(英語ではstatic ojisansという感じ)に向けて書いたのですが、思いがけず、元祖staticおじさん(The static ojisanあるいはMister staticといった感じ)ご本人からのご意見をいただき、本当に嬉しく思います。 オブジェクト指向の再利用性と非オブジェクト指向の関数やサブルーチンとの違いを明確に示していないから いろいろ理屈を込めても無駄ではないでしょうか? 誰かが作ったクラスを継承して再利用したところで、バグが少なくて、メンテナンス性がいいものができるでしょうか? そんなものをあてにするより、天才が作ったクラスライブ
プログラムの設計は非常に難しい.チームでの開発はもちろん,個人単位の設計であっても難しい. 単純にプログラムの設計と言っても,プログラム全体の設計,クラスの設計,関数の設計と様々である. その中で,最も注目されるのはクラスの設計である.なぜなら,プログラムにおいて再利用する単位はクラスだからである. しかし,クラスの設計が悪いと再利用をすることができない.だが,良い設計であれば自然と再利用が可能である. そこで今回は,良いクラスを設計するために,何をすべきかについてまとめた設計の原則を紹介する. 設計の原則[1]とは,クラスを設計する際,自然と適応されるべき原則のことである. 2.1 何故,設計の原則を適応させるのか プログラムは,一度リリースしたらそれで終わりではない.特に,ソフトウェア開発ともなれば, 開発が終了した後には,変更,保守の仕事に移ることになる.その際,プログラムが複雑で読
Webプログラミングは何故オブジェクト指向でない?~WicketはWebプログラミングにオブジェクト指向を取り戻す JavaでWebアプリを10年書いて思ったこと。 Webプログラミングは全然オブジェクト指向でない。 Sevlet+JSP主体のプログラミングスタイルは、リクエストとレスポンスへPrimitiveな値をどうやって渡すか、という手続き型の発想でしか書いていない。 従来のWebプログラミングスタイルの問題点について書いてみる。 以下ラフなメモ書き。 【参考リンク】 Wicketって? ウェブ開発をもう一歩前に Wicketで始めるオブジェクト指向ウェブ開発:第1回 Hello, Wicket|gihyo.jp … 技術評論社 【コラム】イマドキのIDE事情 (39) Wicket、Grails、Click - IDEでみる軽量Javaフレームワーク | エンタープライズ | マイ
図1●コンポーネント間の依存性 オブジェクトが他のオブジェクトを利用する場合,最も単純な方法がオブジェクトを生成したり,呼び出したりするコードを直接記述するやり方だ。これは,両者を結ぶ釘の頭が呼び出す側のオブジェクトに入り込んでいる状態と言える。利用される側のオブジェクトは釘から容易に抜けるが,頭が入っているオブジェクトの再利用は難しい。両方の釘を抜けるようにするには,何らかの媒介する仕組みが必要である。 図2●Dependency Injection(DI) JavaやC#には,クラスの階層構造と関係なく,共通のメソッドを定義するための「interface(インタフェース)」という仕組みがある。通常,あるインタフェース(interfaceX)を実装したオブジェクトを利用したいクラス(classA)は,そのインタフェースを実装したクラス(classB)を指定し,生成する必要がある(a)。こ
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く