Is there some kind of trick, or design pattern, or some other way universal ways to make an object available 'globally', so you can access an object as needed from an application so it can be loaded with the loading process of the application (regardless of if it is a desktop app such as console, or a web app such as MVC)
I am basically looking for something that I can initialize in the main starting method and it will be available without having to pass it to each method to use it, while it retains its state and properties that it was initialized with.