たなかこういちの開発ノート

システム開発に携わる筆者が、あれこれアウトプットするブログ

2015-06-01から1ヶ月間の記事一覧

私的実践DDD、その2

(※前回からの続きです。) CQRSはモデリング上の本質的な課題への対応である CQRS(Command-Query Responsibility Segregation、コマンド・クエリ責務分離)の採用は、現代的なシステムではほぼ全て必然的にそこへ帰結すると考えた方がよいと思います。CQRS…

私的実践DDD、その1

ようやく「実践ドメイン駆動設計」を読み終わりました。 髙木正弘訳、ヴァーン・ヴァーノン著、「実践ドメイン駆動設計」 実際にありそうな開発プロジェクトのストーリーに沿うかたちで話が進められます。コードExampleが極めて具体的に示されて、どうすべき…

キャシュ層を挟む

以前の記事で、フロントエンド-バックエンドのI/Fをどうするか話しましたが、ここにRead Cache層を差し込んでみます。 キャッシュは、最近の大規模サービスではほぼ必須の技術要素といえます。実装としては、memcachedやRedisといったインメモリーKVSがよく…

要件から設計する行為を、「Object」、「Subject」、「Attribute」、「Projection」で説明してみる

(Domain's) Objectとは? 業務プロセスに対する要求・要件の分析観点で抽出される、業務上のひとつの“管理対象”を認識したものを「(Domain's) Object」と、ここでは称することとします。「業務上のひとつの“管理対象”」とは、、業務プロセス内にひとつの部分…

業務プロセス、業務ロジックの理解と、フロントエンド−バックエンド間I/Fの詳細

下記は一般的なn層アーキテクチャーの図です。各層をここでは「Presentation」、「Business Logic」、「Data Access」と表現しています。 ただしいくつか特徴があります。一点目は、参照系と更新系のBusiness Logicを分別して表現していること。二点目は、「…

エラーケースのパターン分類〔ライブラリ実装編〕

(※〔運用編〕からの続きです。) エラーについての一連の記事では「処理」として「業務ロジック」を想定して議論を進めていました。では、その業務ロジックの実行環境・実行基盤たるフレームワークを実装するときや、日付演算ユーティリティ、XMLプロセッサ…

アジャイルでスタートアップも、軌道に乗ったらUPへ移行すべきときが来る、というものかもしれない

前の記事でも書きましたが、この1年ほど、コンシューマー向けWebサービス立ち上げのタイミングで、スクラムを実施する現場に参画することができました。Unified Processベースで開発プロセスを思考していた私にとって、ホンモノのアジャイルの現場は、当初は…

"Issue #19 can't be closed" (Complete Ver.)

歌 アイルちゃん 初めはいつもと同じコメント いつものように少し意地悪、少し優しく だけどようやく気付いた、 この繰り返しを終わらせたいから わたしはアイを進める 想いは全てcommitしたわ テストコードも抜かりはないの お願い、Merge me with you! わ…

ウー太くんとアイルちゃんの対話

ウー太くんは、アイルちゃんに対して次のように問いかけます。 「スケジュールとリソースとスコープについての計画が無ければ一体どうやってプロジェクトをマネージメントすることができるというんだい?」 アイルちゃんはウー太くんに対して、次のように答…