What is a component? Component is a group of classes and methods which are logically related. Component should implement IComponent interface or at least uses class that implemented IComponent interface.
What is Application Domain? Application Domain is logical boundary created for .NET applications so that one application does not affect the other applications. .NET runtime uses Appdomain as a container for data and code.
What is caching? Caching is a technique used to increase performance by keeping frequently accessed data or files in memory. The request for a cached file/data will be accessed from cache instead of actual location of that file.