In some dynamic environments it's possible to replace methods on the fly. This facility allows you to build a hot patching mechanism. Hot patching is the technique of changing the code of a running application on the fly. I've used this technique before in several different forms. For stand-alone client applications like ElastoLab, the users can download new patches and drop them into a specific directory. When the program starts up, it loads the patches before launching the user interface. This allows you to supply fixes without requiring the user to download a large file and re-install the entire application. In a client/server application, the client could look for patches in the database on startup. If it finds them, it can install them before the user starts working. For a server application, the server can be triggered to load patches while it's running without requiring a restart of the server. Hot patching has to be handled carefully, but it can make the user's experience much better by fixing problems quickly.
Download