「FuelPHP 2.0 最初のアルファ/ベータ・リリース」が紹介されています。変更内容について、あまりピンとこなかったのでたまには英文も読んでみるかと fuelphp の github も覗いてみたところ、Important Changes にびっくりなことが。 We also decided to adopt PSR-1, which means that instead of snake_case names the methods & variablenames are now camelCased. 「PSR-1 を採用するため、メソッドと変数名には、snake_case は辞めて camelCase にすることにしました。」 PSR-1 というのは、PHP のフレームワークが採用すべき標準規約を定めたものです。その規約の中にメソッド名は camelCase にしなさい、というの
コードで学ぶドメイン駆動設計入門 〜エンティティとバリューオブジェクト編〜 - じゅんいち☆かとうの技術日誌 コードで学ぶドメイン駆動設計入門 〜振る舞いとサービス編〜 - じゅんいち☆かとうの技術日誌 と続いて、このエントリはファクトリ編を解説します。 ドメインオブジェクトのライフサイクル これまで紹介したエンティティやバリューオブジェクト、サービス(以下、これらをドメインオブジェクトと呼ぶことにします)はライフサイクルを持っています。 ライフサイクルと聞くと、newされてからGCされるまでの間を想像します。しかし、一般的なアプリケーションでは、実際はVMのライフサイクルを超えるライフサイクルを扱うことが多いと思います。たとえば、テキストエディタで編集したデータを永続化する場合などです。テキストエディタのデータは単なるバイト配列と捉えるのではなく、ドメインモデルとして捉えることができます
あるエンティティに対して、何らかの条件を満たすものをグループとして扱いたいことがよくあります。安直な実装としては、条件を加味してエンティティを抽出するようなメソッドをリポジトリに追加する方法をとってしまうかもしれません。 このようにリポジトリにメソッドを持たせてしまうと、条件が集合操作の中に埋もれてしまい、再利用しづらくなります。そこでDDDではSpecification(仕様)としてこういった条件をくくり出すパターンが紹介されています。『エリック・エヴァンスのドメイン駆動設計』p.229「仕様の適用と実装」では、次のように書かれています。 仕様の価値の多くは、全く異なるように見えるアプリケーションの機能を統一することにある。以下に挙げる3つの目的のうち、1つでも当てはまれば、オブジェクトの状態を(筆者注:仕様として)定義する必要があるだろう。 オブジェクトを検証して、何らかの要求を満たし
「Play2/Scalaでドメイン駆動設計を利用した大規模Webアプリケーションのスクラム開発の勘所」の発表資料が素晴らしい #devsumi デブサミ2014の発表資料を読んでいて、僕の中では「Play2/Scalaでドメイン駆動設計を利用した大規模Webアプリケーションのスクラム開発の勘所」が一番心に残った。 ラフなメモ書き。 以下の発表資料の文章を引用している。 【元ネタ】 Developers Summit 2014 で「Play2/Scalaでドメイン駆動設計を利用した大規模Webアプリケーションのスクラム開発の勘所」という内容で発表してきました - sifue's blog 2014/02/14 デブサミ2014【14-A-6】Play2/Scalaでドメイン駆動設計を利用した大規模Webアプリケーションのスクラム開発の勘所 #devsumiA - Togetterまとめ 【0
DDD難民に捧げる Domain-Driven Designのエッセンス 第1回 ドメイン駆動設計とは 株式会社オージス総研 アドバンストモデリングソリューション部 佐藤 匡剛 Domain-Driven Design Tackling Complexity in the Heart of Software Eric Evans 著 Addison-Wesley, 59.99ドル 560ページ ISBN: 0-321-12521-5 「ドメインモデリング」は、アプリケーション開発において最も重要な部分だとされています。しかしその割には、フレームワークの使い方やアーキテクチャの設計方法など技術に関する解説書はたくさんあるものの、ドメインモデリングそのものを扱った書籍はほとんど無かったと言ってもいいでしょう。Eric Evansの『Domain-Driven Design』(以降DDD)は、「
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く