Next | ||
Installation |
Mach-II is a powerful framework for building modular and maintainable object-oriented applications. Object-oriented applications are by their nature more or less modular; however, they often are not very maintainable due to a high degree of coupling between those modular components. Typically, one component calls another, calls another and so on. This results in objects that know about other specific objects. When the time comes to make changes to one or more of those classes a chain-reaction occurs that may require editting several of those classes due to "down stream" effects. The simple act of renaming a class may result in hundreds of edits in various other classes because they explicitly call that object. PHP, being first a scripting language, often relies on individual script pages of procedural code to tie various classes together into an application; again, resulting in many pages that couple those classes together. Mach-II was designed to reduce that coupling to the absolute minimum.
Mach-II is based on a well accepted software architecture known as event-based, implicit invocation. It is a very flexible method of linking modular application components together and is used by most operating systems and virtually all GUI interfaces - it works!
"Event-based, implicit invocation" sounds complicated but it's really quite simple; rather than calling components, implicit invocation works by responding to announced events. The application's components register an interest in one or more events and then wait for the framework to tell them it has occurred. When the event is triggered, Mach-II announces it to all of the interested components, which can announce events of their own. The power of the system comes from the fact that none of those components know anything about each other, they announce their state to Mach-II and if it means something to another component, it reacts. This makes it very easy to add on to an application without disturbing the existing (working) code.
Next | ||
Installation |
Documentation generated on Thu, 20 Jan 2005 10:46:49 -0800 by phpDocumentor 1.3.0RC3