Reusability

Reusability is a quality characteristic of software building blocks. The term characteristics of such a device are combined, the result that it can not only be used within the project for which it was originally developed. Reusable modules became popular with the advent of modular programming and object-oriented programming, as these paradigms created means to implement them in a simple way. By reusing program code and program packages code duplication can be avoided.

Abstraction

The salient feature of a reusable building block is its abstract character. This means that the block usually requires no additional components or even the conditions of a specific software project. In object-oriented programming example, this can be supported by the use of event - listener model with interaction between different modules. This is mediated at unannounced listener components in communication needs of the abstract component an event (event). Since by this method is a direct call to a method or function is avoided in another module, the component becomes more abstract.

Flexibility

The flexible scheduling of a block goes hand in hand with its abstract character. In the development of a software project, it easily happens that be taken in the planning of the individual components on the requirements for this project. If a block is to be reusable, but must be anticipated further, any possible requirements. In the above example with the event listener model, this could mean that for all events that may occur in a component, such event is generated, regardless of whether these are obviously relevant.

Implementations

Perl, Python and other scripting languages

Scripting languages ​​have been in terms of reusable components has always been a pioneer. For further distributed copies exist large collections of freely available modules. Legendary, but not unique in this respect is the Perl CPAN archive. Also for other scripting languages ​​, an example is here called Python, there are seemingly inexhaustible sources of such modules.

Java

The programming language and runtime environment Java is offered under the name Java EE as component-oriented development environment for Web services. Due to the modularity of Java EE exist countless commercially offered, reusable components under the heading of Enterprise Java Beans. Outside of Java EE, there is a similarly named but very different concept implemented under the name Java Beans, a framework that describes how reusable components can publish their properties and methods. On this basis, it can allow you to create links between the characteristics of different beans with a mouse click, for example, a graphical development interface.

. NET

The Java technology modeled. NET provides similar options as Java itself While the Java EE counterpart. NET Enterprise Services still has not been widely used, has developed a similar to Java market for reusable components in the area of application development.

  • Software Engineering
819472
de