この投稿は、PHP Advent Calendar 2016 - Qiita の 7 日目です。 DDD のようなドメインを意識した開発手法でなくても、ドメインコンテキストで必要な操作のみを実装したクラスを作ってみましょう話です。 Amazon Dash Button Amazon Dash Button は、ボタンが一つだけあるデバイスです。このボタンを押すと、あらかじめ決められた商品の注文が Amazon に送信され、商品が配送されるというシンプルなものです。 このデバイスは、「商品を届けて欲しい」というユースケースに対して、ボタンを押すというシンプルなインターフェイスを実装しています。単にボタンを押すだけなので、その裏側でどのようにして実現されているかを知らずとも、誰もが利用できます。違う言い方をすれば、ボタンを押す(商品を注文する)ことしかできないので、操作方法を覚える必要もなく、
![Amazon Dash Button にみるドメイン特化クラスのヒント - Shin x Blog](https://cdn-ak-scissors.b.st-hatena.com/image/square/824501921694e521889f7ffb2f2bab12b1303837/height=288;version=1;width=512/http%3A%2F%2Fecx.images-amazon.com%2Fimages%2FI%2F514QIkvDWVL.jpg)