Facebook ボタンを実装するとしましょうLike
。バックエンドでは、この単純なアクションで多くのことが起こる可能性があります。例: crawl page
、extract page data
、store page info
などassociate with user
...
各ステップのモジュール (ライブラリ + リポジトリ) を作成したら、それらをコントローラーにまとめる必要があります。モジュールごとにコントローラーを作成する方が、単一のコントローラー内にすべてのコントローラーを挿入するよりもよいでしょうか?
コードで説明すると、A は B より保守しやすいですか?
A:
controllers/
like.php
crawler.php
extract.php
...
//and in like.php
$page = Event::fire('page.crawler', $url);
...
$result = Event::fire('page.extract', $data);
...
//in crawler.php
use Lib/CrawlInterface;
function __construct (CrawlInterface $crawl)
//in extract.php
use Lib/ExtractInterface;
function __construct (ExtractInterface $extract)
...
B:
controllers/
like.php
//and in like.php
use Lib/CrawlInterface;
use Lib/ExtractInterface;
use ...
function __construct (CrawlInterface $crawl, ExtractInterface $extract, ...)
明らかに、これは白黒の質問ではありませんが、Event
各コントローラーの DI の数を減らすための良い方法のように思われるため、このように使用する必要があるかどうかを知りたいです (また、コントローラーが太るのを防ぎます)。