The design of Models and Stores appears to expect users to call Model.load() when only loading a single record from the server, and use a Store (likely with a Grid) when loading multiple records.
If that is the expected usage, than why not allow multiple instances of the Model to be created with a different proxy, or allow the load method to be called with different per call Proxy configuration? I like that I can define a single Model and then define multiple Stores that use that single Model, each with a different proxy (different URL in particular). I would like to be able to define a Model and then use that Model in multiple situations with different URLs.
My use case for this is simple. Suppose you have an Org model and a Person model where the Org model uses the "hasOne" association with the Person model to define a point of contact. In other words, an organization has a single point of contact. The server defines a REST API for accessing Org and Person records, so the URL for the Proxy of the Org Model looks like this, where "1" is the ID of the Org:
The URL for the Person looks like this, where "1" is the ID of the Person:
However, given the "hasOne" relationship, the Child can also be referenced from the Org URL like this:
I reference the Person via the Org URL when I'm working with the Org and don't know the ID of the point of contact at that time. This would be simple if I could just use the same Person model, but with a different URL.
Given how easy it is to use a Store with the same Model but a different Proxy, I would expect you could easily use the same Model with a different Proxy. I see that you can set the Proxy of a model, but that changes the Proxy for all code using that Model.
Am I missing something?