Ho there, I am new to Orchard and I am so interested in the core aspect of the project.
On the official documentation I have read:
Next, the host will get the Shell for the current tenant using the ShellContextFactory. Tenants are instances of the application that are isolated as far as users can tell but that are running within the same appdomain, improving the
site density. The shell is a singleton at the tenant level and could actually be said to represent the tenant. It's the object that will effectively provide the tenant-level isolation while keeping the module programming model agnostic about multi-tenancy.
This sentence is not so clear at my eyes.
Can you explain what do you mean for site density and what is multi-tenancy?