memoっとくスマートフォン用の表示で見るmemoっとくこの広告は、90日以上更新していないブログに表示しています。2014-03-10呼ばれるということJava今とあるクライアントさんは足し算がしたいようです。足し算はクライアントさんの責務ではないようです。よって、クライアントさんは足し算の責務を持っているクラスを探して、そのクラスのオブジェクトにメッセージを投げることにしました。探していたら以下のAddクラスがありました。}}出力結果はじまりです!足しますおわりです!start!足しますend!ここでは、足し算をしたいために足し算のクラスAddに処理を委譲しています(これをメッセージ送信などといったりします)Addクラスの責務は「足し算をすること」です。ここでは抽象レベルの話はしません。場合によってはCalcクラスにするかもしれませんよね(他の計算ロジックも含むなど)。その辺はその時々の設計の問題ですね。Addクラスにはメソッドの前後にログ出力があります。これはこのクラスの責務ではありませんが、こういう処理はオブジェクト指向では解決できなかったりします。いろいろなパターンのログを出力したい場合には足し算をするという本来の責務はひとつであるにもかかわらず、メソッドがどんどん増えてしまいませんか?あらかじめログ内容は決まっておらず、使用する側がログの内容をそのつど決定したい場合もあるかもしれません。ここでは簡単な具体例を出していますが、「このような具体例とは違うこのような状況」はいろいろ考えられるのではと思います。しましょうということですが。こんなんでしょうかね。!!!!!!!!!!!!!この基本を応用すれば、私が出くわした、Connectionのクローズをすべての開発者に課すということもなくなると思います。いうか、Java8のラムダとかではもっと違う感じで書けるのかもしれませんが、私の知識がまだ追いついていません。その前に、そもそも、ログ処理やトランザクションなどのいわゆる横断的な関心事に関してはAOPフレームワークを使うべきですよね。»プロフィールid:kijitoranekoメガネないと見えない。(1)月別アーカイブはてなブログをはじめよう!kijitoranekoさんは、はてなブログを使っています。ブログを報告するスターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。