Application of Java object-oriented in software reuse and architecture

Source: Internet
Author: User
Tags inheritance

Object-oriented technology provides a new idea and method of recognizing and expressing the world, which has far-reaching influence on the computer industry.

Computer practitioners use it to put forward object-oriented computer programming language, object-oriented Software design method, object-oriented database and so on. At the same time, object-oriented technology provides a strong support for the software industry to realize engineering, and it is the object-oriented technology that makes the concepts of component, component and middleware.

I. REUSABLE software components

The continuous development of computer provides a large number of technologically advanced and powerful application software systems for computer and network applications, and also brings the corresponding problems to software developers and users:

· The software system has a large scale, long development cycle and high maintenance cost;

· Software systems are too complex to integrate a variety of functions into one system, most of which are not flexibly loaded, upgraded, or reused;

· Application software is not easy to integrate, even if the applications are written in the same programming language and run on the same computer, the data and functionality of a particular application cannot be made available to other applications.

To overcome the above difficulties, to achieve the industry-wide software "Plug and Play", the key is to solve the software system operability, scalability, language independence and cross-platform operational capabilities.

As a solution to this kind of problem, object-oriented program design idea has been developed in the past more than 20 years. Although the isolated object-oriented thought is powerful, its development is close to the limit, and the result is a large number of "Object Islands". The object-oriented component software architecture, which combines object-oriented thinking with component programming, has opened up a new path for this field.

Broadly speaking, the software component is a well-defined and independent, reusable binary code, including functional modules, encapsulated object classes, software frameworks, and software system models.

In the late 60 and the early 80, structured modular software development was dominant, and the meaning of the component at the time was defined as a well-defined method package or functional module.

Since the 80 's, the object-oriented software development idea has developed rapidly, then the meaning of software components is class library. Although the class provides encapsulation, polymorphism and inheritance, it needs to rely on the specific programming language, high coupling degree, and require the user to have a better understanding of the structure and host language of the class library, therefore, the portability and interoperability requirements of software reuse can not be fully achieved.

After the 90 's, the connotation of the component was further strengthened, and the aggregation, independence and reusability were further improved. Currently, components in an object-based component software architecture refer to binary code and data that can be easily inserted into languages, tools, operating systems, and network systems.

This software component can be regarded as a software integrated circuit element, which has the following characteristics:

· Software IC does not have the natural polymerization of hardware IC, which is free of size and easy to expand.

· Establishing an intelligent interoperability mechanism and language independence between institutions by setting up a unified binary standard;

· External access to components only through the interface;

· Multi-side, that is, the semantic level of component expression is high, can be connected from different side, external characteristics are not unique;

· Supports encapsulation, inheritance, and polymorphism.

The component model based on the classical object-oriented technology has provided strong support for software architecture design and large-scale application software development, and has been widely accepted by the software industry. Microsoft's ole/com and Sunsoft JavaBeans are typical software component specifications.

1.1 JavaBeans

Java beans are Java-based, visual, controllable, reusable components; The JavaBeans component model is a software component standard for beans that is developed by Sunsoft, and provides the framework by which all beans are designed to ensure that the bean, while having specific functionality, It can also be identified and manipulated by visual software construction tools, and can be stored to guide the behavior of the runtime.

As a visual component, all JavaBean have the following characteristics:

· An introspective (introspection) mechanism that tells a software construction tool what it can accomplish, allowing the software construction tool to manipulate it at design time;

· The user customization (customization) mechanism allows programmers to use software construction tools to change the appearance and behavior of the bean during the software development phase.

· Event mechanism that captures events, raises events, and informs software construction tools of events that they can generate and handle.

· Features (properties) mechanism, in addition to supporting user customization in the software development phase, also enables the software system to process and control the bean at run time;

· Maintain (persistence) mechanism to save changes made to the bean by the constructor tool during development and restore at runtime.

· Design time function and running time function separation.

JavaBean is mainly used for visualization environment, which is utilized by software construction tools, but also can be manipulated directly through program interface, and the corresponding control class is provided in Java class Library.

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.