Avalon Framework -

About Avalon Framework Overview Component Oriented COP in Avalon Patterns in Avalon IOC Patterns IOC Security Seperation of Concerns Interface and Implementation Component Development Javadoc Project Documentation Project Info Project Reports License | ### Getting Started with Patterns Avalon takes many design patterns and architectural mindsets, and implements the best ones for servers. There are different kinds of patterns that represent different aspects of Avalon. Avalon uses four main conceptual patterns called Separation of Interface and Implementation, Inversion of Control, Multi-Dimensional Separation of Concerns, and Aspect Oriented Programming. Avalon also uses several architectural patterns like the Singleton and the Factory. ### The Avalon Patterns in short We provide you with a short description of the patterns first, with a detailed description of each pattern on a separate page. #### Separation of Interface and Implementation Summary: The Separation of Interface and Implementation is a core feature of the Java language. However, it is often misused so we list it as one of the Avalon patterns, and our use of it is extensive. More Information... #### Inversion of Control Summary: Avalon not only has an inheritance hierarchy, but also a component hierarchy. In this hierarchy, the control of program flow is completely in the hands of the parent component(s), as soldiers in the military take orders from their officers. More Information... #### Multi-Dimensional Separation of Concerns Summary: You just read the introduction about patterns before reading about Avalon's patterns because that enables you to reuse the knowledge you gained about patterns in a context other than that of Avalon. We do this with software as well. More Information... #### Aspect-Oriented Programming Summary: this is the next logical step ofter Separation of Concerns. Many concerns cannot be centrally addressed using the standard OOP mechanisms. Using AOP (which is an extension to OOP), we would be able to do so in a simple fashion. As there is no good AOP facility in Java, we use "aspect marker interfaces" and COP instead. #### Component-Oriented Programming Summary: The Avalon framework promotes black-box reuse at every level. Doing so is commonly known as COP. This is so important in Avalon we devote an entire section to it.