Which is invoked first Virtual Service or Destinationrule?

I have a confusion between Virtual Service and Destinationrule on which one is executed first?
Let’s say I have below configs,

Destinationrule -

apiVersion: networking.istio.io/v1alpha3
kind: DestinationRule
metadata:
  name: movies
  namespace: aio
spec:
  host: movies
  subsets:
  - labels:
      version: v1
    name: version-v1
  - labels:
      version: v2
    name: version-v2
---

VirtualService

apiVersion: networking.istio.io/v1alpha3
kind: VirtualService
metadata:
  name: movies
  namespace: aio
spec:
  hosts:
  - movies
  http:
  - route:
    - destination:
        host: movies
        subset: version-v1
      weight: 10
    - destination:
        host: movies
        subset: version-v2
      weight: 90
---

I read somewhere that,
A VirtualService defines a set of traffic **routing rules** to apply when a host is addressed.
DestinationRule defines policies that apply to traffic intended for service **after routing has occurred.**
Does this mean Destinationrules are invoked after Virtualservices?

I have a small diagram, is my understanding correct?

yes exactly as u mentioned