思い付きのメモ。
たとえばWebアプリを作成するとき、まず特定の条件で一覧を表示し、次に一覧の中の特定の行をクリックすることで詳細画面が表示するような処理がある。
このような処理はWebアプリとしてそのまま作成するより、それぞれの動作をするコマンドとして作成し、Webアプリはそのコマンドを使用すると構造がすっきりしてメンテナンスも楽になるのではないだろうか?
たとえば2019/7/31発行の請求書から選んで印刷する場合
一覧表示
$ seikyu-list 20190731 ID 宛先 請求額 3 A商店 70000 7 B建設 150000 8 C設備 50000
請求書印刷
$ seikyu-print 7 printing: B建設 150000
これらのコマンドを使用してWebアプリを作成する。
それぞれのコマンドは --json
オプションで出力をJSON形式で出力できるようにするとWebアプリ内部から呼び出しやすくなる。
(2019-07-17追記)
コマンドの代わりに上記のコマンドの役割をするようなプレーンなオブジェクトまたはコントローラを作成するとWebアプリで使いやすくなると思う。 そのようなコントローラにURIを与えるとWeb APIになる。