Ebook Sample Content Preview:
Chapter 8 : Ease Your Burden With Components
Synopsis
Basically, component orientate programming is a new element of extensibility, in which the development and integration of extensions are a distributed activity and not a centralized action as in previously used software applications, developments and paradigms.
Make Things Simple
Component focused programming for computer languages must be designed to have some level of basic properties that will eventually lend support, rather than cause impediments to the user. This is important to the distribution platform applicable to the extensibility of the software system in place. Although most would agree that component orientated programming is a good extension tool to have available for use, there is less enthusiasm when it comes to agreeing on what the fundamentals of component orientated programming is really based on. Over time, there has been a number of approaches and technologies that have been proposed for component oriented programming, which some have deemed useful while other feel there is a lot that still needs attention.
Based on three very fundamental elements, the component oriented programming language starts with the need for interfaces, the need for modules and finally the need for polymorphism. The interface element will consist of all possible implementations that can fill a certain and specific role within the already composed system. This is possible as they are often the only form of coordination between the frameworks and components used and the only means by which the whole composition can be validated.
These modules define the static structure of a particular system being used by providing rather rigid boundaries which are designed not to be crossed arbitrarily. This ensures the interaction between the
framework and components are kept isolated and this makes dependencies explicit.
Polymorphism, on the other hand, supports the dynamic structure of a system by allowing various different instances of different implementation types to be bound to the same interface at runtime.