アプリケーションフレームワークの文法を妄想してた
rspec の文法を見ていると、 class XxxService, class YyyPolicy, class Zzz 。。。などを プロダクションコードから class 消し去りたい衝動が出てくる。
DDD, DCIを意識すると、こんなのが欲しい。
サービス
service Xxx, ' サービスの要約説明': before: .... exec 'サービスの振る舞いの要約説明': .... after: (成功失敗で分けたほうがいいかな。。。)
エンティティ
entity Zzz: (has_manyなどが使える)
ロール
role RoleName, Zzz: behave 'ロールの振る舞いの要約説明':
バリューオブジェクト
value Aaa(...): (.. ValueObject を書きやすくする なにかってあったけ。 Embedded Value, イミュータブル, 閉じた操作, 副作用のないメソッド...etc...)
ポリシー
policy Yyy(...): assert "ポリシーの説明": ... (Hamcrestのような述語が使える)