タグ

ブックマーク / yojik.hatenablog.jp (3)

  • RoleObjectっぽいパターン(<del datetime="2006-03-31T13:38:29+09:00">名前未定</del>) - yojikのlog

    ちょっとごにょごにょ思いついたのでメモっておきます。長くなりそう。 既存のオブジェクト指向システムの問題のひとつが「関心のもつれ合い」。例えばドメインオブジェクトを複数の関心(ユースケース)に対応させるためには、お互い関連性が無かったりする複数のロジックをドメインに乗っける必要があり、実装が複雑になってしまう。UC側で継承してロジックを追加してもいいけど、ORマッピングしてる場合などは面倒になりそう。 「そこでアスペクト指向ですよ!」というのが「ユースケースによるアスペクト指向ソフトウェア開発」の主旨。この場合はインタータイプなどの機能をつかって、関心を織り込むといった形で実装するはず。 アスペクトが使えない場合は、書ではAdapterパターン*1が使えるというヒントがあるのだけど、RoleObjectパターンも使えそうな気がする。 RoleObjectは簡単にいえばDecoratorパ

    RoleObjectっぽいパターン(<del datetime="2006-03-31T13:38:29+09:00">名前未定</del>) - yojikのlog
    aetos382
    aetos382 2013/03/15
  • DCI on Java について考えました - yojikのlog

    先日アレグザンダー祭りに行って色々感銘を受けたのですが、いまさら感想を書くよりはコードを書いた方が良いよねと思いました*1。以下はDCIアーキテクチャをJavaで実装したメモです。まだ聞きかじりなので間違いもあるかも。 といっても、元ネタはあるので、写経に近いですね。 http://www.markn.org/blog/2009/06/dci-on-scala.html (Scalaによる実装) http://www.jroller.com/sebastianKuebeck/entry/object_oriented_programming_2_0 (←こちらの例は余りに無駄な実装が多すぎる。。) 概要 DCIの例題によく出てくる銀行の送金処理を考えて見ます。この例って実は全然リアルじゃないんだけど、まあわかりやすいですよね。。 結論からいうと、Taitsもmixinも無いJavaでDCI

    DCI on Java について考えました - yojikのlog
    aetos382
    aetos382 2013/03/15
  • RESTfulな設計とCRUDはちょっと相性悪いという話 - yojikのlog

    http://www.infoq.com/jp/news/2009/08/CRUDREST 上記URLを読んで自分なりに例題を考えてみる。(todo:あとで状態遷移図を追加) RestBucks cafe 完全にオンライン化されていてWebAPIで注文できるというすごいカフェを想定します。(この手の例にStarbucksを使うのはGregor Hopeさん以来の伝統らしいです) 客側から見たユースケースはこんな感じ 客はレジのサービスを呼び出して、注文を入力して支払い 自席で注文状況をチェック、出来上がっていたら取りに行く。 注文というエンティティと、[注文編集] [支払い] [受け取り] という(アプリケーション)状態によって上手く表現できそうです。 (RESTfulだけど)CRUDな設計 CURDな設計では、リソースをURLにマッピングします。それに対してCRUDするというイメージです

    RESTfulな設計とCRUDはちょっと相性悪いという話 - yojikのlog
  • 1