Network Security Internet Technology Development Database Servers Mobile Phone Android Software Apple Software Computer Software News IT Information

In addition to Weibo, there is also WeChat

Please pay attention

WeChat public account

Shulou

How to understand Java Software Architecture Design

2025-01-28 Update From: SLTechnology News&Howtos shulou NAV: SLTechnology News&Howtos > Development >

Share

Shulou(Shulou.com)06/02 Report--

In this issue, the editor will bring you about how to understand the Java software architecture design. The article is rich in content and analyzes and narrates it from a professional point of view. I hope you can get something after reading this article.

The architecture design at the beginning determines the survival of software products. "A good beginning is half success"!

The initial architecture design is also the most difficult, need to investigate the situation of similar products and technical characteristics, to understand the current world of this product can provide theoretical support and technical platform support. Combined with the characteristics of their own project (need thorough system analysis), in order to gradually form their own project architecture blueprint.

For example, to develop a website engine system, from the personal home page generation tool of Yahoo to the website automatic generation system provided by virtual host vendors, as well as the characteristics and limitations of IBM Webphere Portal, so as to determine the location of your own products from the perspective of architectural design.

A good design must be modified repeatedly, and cyclic testing from simple to complex is a good way to ensure that the design is correct.

Because the right direction was chosen at the beginning, this choice was also verified by the implementation process of the project, but in some details of the architectural design, the scheme still needs to be modified, which belongs to the way of spiraling, which is obviously achieved by testing the idea of * and the XP engineering method.

If our initial architecture design has a certain world advanced level in the positioning of the technology platform, then half of the project development is equivalent to doing experiments, R & D, and there are considerable technical risks.

Therefore, at the beginning, it is impossible for us to implement every requirement, but to take a simple approach to complete the architectural process, using the simplest requirements to simply complete the entire architecture (adding human intervention). To test whether the various technical links can work together (excellent and advanced technologies sometimes cannot work together), and at the same time you can find out the depth of the technology. It is difficult to master the technology in the project. After the completion of this process, we made the above major changes to the design, enriching and improving the design.

Design pattern is an important component of supporting architecture

Architecture design is also similar to a kind of workflow, which is dynamic, unlike architectural design, which can be completely determined from the very beginning. In the process of architecture design, there are two specific operations to ensure the correct completion of architecture design, that is, design pattern (static) and engineering project approach (RUP or XP dynamic).

Design pattern is an important component of supporting architecture, which is very similar to architecture. The establishment and design of a building requires architectural design. In specific construction, there are many architectural rules and patterns.

From the J2EE blueprint pattern classification http://java.sun.com/blueprints/patterns/catalog.html, we can clearly see the relationship between the architecture and design patterns of J2EE such a framework software.

Architecture design is skeleton, design pattern is meat.

In this way, a relatively rich design scheme can be further completed by programmers, assisted by appropriate engineering methods, so as to ensure that the architectural design of the project can be completed correctly and quickly.

Always keep in mind the goals of architectural design

Because architecture design is done dynamically, it is important to grasp the goals of architecture design, so throughout the project, even at each step, we must keep in mind the overall goals of our architecture design, which can be summarized as follows:

1. * reuse: this reuse includes component reuse and the use of design patterns.

For example, we have user registration and user rights system verification in our project, which is actually a general topic. Each project only has its own content and some subtle differences. If we have successful research and development experience in this area before, we can reuse it directly. If not, then we have to carry out the research and development of this sub-project. In the research and development process, we can not only see the requirements of this project. We should also use the concept of architecture to complete this subproject, which can be called a component.

two。 Keep it as simple and clear as possible: our general direction of solving problems is to simplify complex problems, which is also the fundamental goal of middleware or multi-tier architecture technology. However, in the specific implementation of the design process, we may complicate simple issues, especially in the use of design patterns, it is easy to make this mistake, so how to make the design as simple and clear as possible is not easy.

I think the concrete implementation of each class should really reflect the essential characteristics of things in the system, because there is only one essential characteristic of things, and the closer your code is to it, the more simple and clear your design is, and the more reliable your system will be. More often, a class does not reflect the nature of things and requires the combination and coordination of multiple classes, so the correct use of appropriate design patterns is a top priority.

When we look at a system code with a good architectural design, we basically see design patterns, such as the pet store (pet store). Or it can be said that a good architectural design is basically accomplished by a number of simple and clear design patterns.

3. The most flexible expansibility: the architecture design should be flexible and extensible, so that users can carry out secondary development or more specific development on your architecture.

In order to have flexible expansion, it is necessary to design the architecture from the height of theory. for example, the concept of workflow is becoming more and more popular, because we have the shadow of workflow in many practical projects. the concept of permission setting with a tree structure in workflow is more common in many fields.

Tree structure is the basic form of organizing information. The website or ERP foreground we see now organizes functions with tree menus, so when we design the architecture, we can design the tree structure and function separately. The connection between them can be put together through the node link of the tree structure, just like we can hang all kinds of small gifts on the branches of the Christmas tree. These small gifts are the various functions that we want to achieve.

With this concept, the user-level access control, which is usually difficult to achieve, also has a train of thought. The specific users or groups are also with the node link of the tree structure, so as to indirectly realize the user's access control to the corresponding functions. With such a basic design scheme, the architecture is undoubtedly very flexible and expansive.

The above is the editor for you to share how to understand the Java software architecture design, if you happen to have similar doubts, you might as well refer to the above analysis to understand. If you want to know more about it, you are welcome to follow the industry information channel.

Welcome to subscribe "Shulou Technology Information " to get latest news, interesting things and hot topics in the IT industry, and controls the hottest and latest Internet news, technology news and IT industry trends.

Views: 0

*The comments in the above article only represent the author's personal views and do not represent the views and positions of this website. If you have more insights, please feel free to contribute and share.

Share To

Development

Wechat

© 2024 shulou.com SLNews company. All rights reserved.

12
Report