一部のクラスで、依存関係の注入が2回宣言されている理由がわかりません。1回目di.xmlは、具体的なクラスのコンストラクターで宣言されています。
でたとえばMagento\Backend\Model\Url、そのは、di.xmlDIのためのタイプのこのセットが定義されています:
<type name="Magento\Backend\Model\Url">
    <arguments>
        <argument name="scopeResolver" xsi:type="object">
Magento\Backend\Model\Url\ScopeResolver</argument>
        <argument name="authSession" xsi:type="object">
Magento\Backend\Model\Auth\Session\Proxy</argument>
        <argument name="formKey" xsi:type="object">
Magento\Framework\Data\Form\FormKey\Proxy</argument>
        <argument name="scopeType" xsi:type="const">
Magento\Store\Model\ScopeInterface::SCOPE_STORE </argument>
        <argument name="backendHelper" xsi:type="object">
Magento\Backend\Helper\Data\Proxy</argument>
    </arguments>
</type>しかし、同時に、その具象クラスでは、注入に必要なdi.xmlで定義されたクラスがコンストラクターで再度宣言されます。
<?php
    public function __construct(
        \Magento\Framework\App\Route\ConfigInterface $routeConfig,
        \Magento\Framework\App\RequestInterface $request,
        \Magento\Framework\Url\SecurityInfoInterface $urlSecurityInfo,
        \Magento\Framework\Url\ScopeResolverInterface $scopeResolver,
        \Magento\Framework\Session\Generic $session,
        \Magento\Framework\Session\SidResolverInterface $sidResolver,
        \Magento\Framework\Url\RouteParamsResolverFactory $routeParamsResolverFactory,
        \Magento\Framework\Url\QueryParamsResolverInterface $queryParamsResolver,
        \Magento\Framework\App\Config\ScopeConfigInterface $scopeConfig,
        $scopeType,
        \Magento\Backend\Helper\Data $backendHelper,
        \Magento\Backend\Model\Menu\Config $menuConfig,
        \Magento\Framework\App\CacheInterface $cache,
        \Magento\Backend\Model\Auth\Session $authSession,
        \Magento\Framework\Encryption\EncryptorInterface $encryptor,
        \Magento\Store\Model\StoreFactory $storeFactory,
        \Magento\Framework\Data\Form\FormKey $formKey,
        array $data = []
) {
    //...
}
?>\Magento\Framework\App\Route\ConfigInterface $routeConfigたとえば、上記のコンストラクタを見ると、はで定義されていませんdi.xml。これはコンストラクターでのみ定義され、Magentoは引き続きrouteConfigクラスを使用のために挿入しますね?他にも同じこと\Magento\Framework\Encryption\EncryptorInterface $encryptorがいくつかあります。
それでは、di.xmlMagentoがこれらの依存関係をクラスに注入して使用できるようにするために、コンストラクターでこれらの宣言が十分であるのに、両方とコンストラクターで他の注入を定義する必要があるのはなぜですか?