规范 - 限制依赖注入的数量

通常,在类中注入的实例保持在 2-5 个,不宜过多。以下是反例

class UserController {

    protected $userService;
    protected $registerService;
    protected $userRepository;
    protected $strip;
    protected $mailer;
    protected $logger;

    public function __construct(
        UserService $userService,
        RegisterService $registerService,
        UserRepository $userRepository,
        Strip $strip,
        Mailer $mailer
    )
    {

    }
}

通过将其中一些类注入到子类可避免依赖注入的数量过多

class UserController {

    protected $userService;
    public function __construct(UserService $userService)
    {

    }
}

class UserService {

    protected $userRepository;
    protected $userEventRepository;

    public function __construct(UserRepository $userRepository, UserEventRepsotory $userEventRepository)
    {
        $this->userRepository = $userRepository;
        $this->userEventRepository = $userEventRepository;
    }
}
本作品采用《CC 协议》,转载必须注明作者和本文链接
讨论数量: 0
(= ̄ω ̄=)··· 暂无内容!

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!