Я новичок в создании своей инфраструктуры MVC, чтобы понять концепцию самой структуры и использование концепции или разделения интересов (SoC), принципа единой ответственности (SRP), инверсии контроля (IoC) и внедрения зависимостей (DI) ) в MVC. Поэтому я написал в псевдокоде контроллера следующее:
class myController
{
private $objFactory;
private $objRequest;
private $objView;
function __construct($factory, $request, $view){
$this->objFactory = $factory->make(__DIR__); // Create the controller specific factory
$this->objRequest = $request;
$this->objView = $view;
}
function upgradeUser($type){
$objSession = $this->objFactory->makeSession();
$objUserMapper = $this->factory->makeUserMapper(); // factory has the access to DAL object
$objUser = $factory->makeUser($objSession->getUserId(),$objUserMapper);
$objUser->upgrade($request);
$objUserMapper->save($objUser);
$this->objView->show($objUser);
}
}
По вашему мнению, это следует за SoC, SRP, IoC и DI. Нарушает ли это какой-либо другой принцип, который может вызвать проблемы, когда проект станет больше? Любые комментарии по улучшению контроллера с благодарностью.
Задача ещё не решена.
Других решений пока нет …