Date: June 1, 2015 (given the changing nature of Magento 2)
In Magento 2, you can configure a "virtual type" in a module's di.xml
configuration file. These virtual types allow you to change the arguments of a specific injected dependency.
In the core Magento 2 code, there appears to be two naming conventions for virtual types. In the first, a virtual type has a name that appears identical to a real PHP class name.
#File: app/code/Magento/CatalogRule/etc/di.xml
<virtualType name="Magento\Catalog\Pricing\Price\Pool" ...
in the second, a simple, backslash-less string is used
#File: app/code/Magento/CatalogSearch/etc/di.xml
<virtualType name="advancedSearchFilterList" ...
Is there any practical difference to the above two naming conventions? i.e. does the name you chose for a virtualType
have any impact on its behavior, or is it just a globally unique string that identifies the type so you can use it later on.