続・ActionとServiceの責務

ActionとServiceの責務の続き。

SAStrutsのサンプル(employee)を書くときに、最初は、ActionとServiceは分けていたんです。で、どうだったかって言うと、ActionはS2BeanUtilsを呼び出すコードだけがあり、Serviceには、S2JDBCを呼び出すコードだけしかない。 だったら、1つユースケースに閉じていることは、すべてActionに記述し、複数のユースケースで使われるものをServiceLogicに分割するのがシンプルでわかりやすいのではないかと、そう思ったわけです。

これみててっきりActionにロジックと言われるもの(シェアするものは除いて)全部書くもんだと思ってた。だからプレゼンテーションとかビジネスとかの区分けも無いものかと。

でも、

プレゼンテーションロジックがActionで、ビジネスロジックがServiceかEntityだから、切り分けは難しくないのでは。

id:higayosuoさんから指摘をもらったのでやっぱり分けるんだと。

僕はこの「プレゼンテーションロジック」とか「ビジネスロジック」とかの役割(意味?)がよくわからない。
人ごとにメンタルモデルがどうも違って聞こえるし、なんかきちんと定義されてる書籍とかサイトとか無いもんだろうか。昔は良かった単純で。もう一回勉強ししなおそ。

ちなみにWikipediaには「プレゼンテーション層」はないけど、「ビジネス層」はある。