Different ways of instantiating WordPress plugins

Many different ways exist to structure WordPress plugins. You can use singletons, global references to your plugin class instance, static classes, namespaces and so forth. In this article, many different ways are outlined in the context of extensibility.