Java software architecture design

xiaoxiao2021-03-06  80

The architecture design of the beginning of the beginning determines the life and death of the software product. "Good start is equivalent to half of success".

Architecture design is also the hardest, and you need to investigate the situation of similar products and technical features, understand the current theoretical support and technology platform supported by this product. By combined with the characteristics of your project (a thorough system analysis), you can gradually form the architecture blueprint of your own project.

For example, to develop a website engine system, from Yahoo's personal home page generation tool to the website automatically generated by the web host merchant, and the features and limitations of IBM Webphere Portal to set up the location from the architecture design angle.

Good design must have repeatedly modified, from simple to complex cyclic testing, it is a good way to ensure the correct design.

Since the correct direction is selected, the implementation process of the subsequent project also verifies this option, but in some aspects of some architectural design, it is necessary to modify the program, which is the way to rise, obviously this is tested. The first ideological and XP engineering methods are implemented.

If we started the architecture design in the technical platform, we have a certain world advanced level, then the actual development of the project is equivalent to doing experiments. It is R & D, which is quite technical risk.

Therefore, we cannot implement each need, but take a simple completion of the schema process. Use the simplest demand to complete the entire architecture, complete the entire architecture, to test the various technical links Whether to coordinate cooperation (very good advanced two techniques can sometimes work together), and can also detect the deep shallow technology of technology and master the technical difficulties in the project. After this process is completed, we have made the above major revision on the design plan, enriching the design plan.

The design pattern is an important component of the support architecture.

The architecture design is also similar to a workflow. It is dynamic. This is not like building design. At the beginning, it can be fully determined, and the architecture design is accompanied by the entire project, there are two specific operations to ensure architectural design. Complete correctly, that is, design mode (static) and engineering project methods (RUP or XP dynamics).

The design pattern is an important component of the support architecture. This is very similar to the building. A building is designed to design architectural design, in specific construction, there are many architectural rules and patterns.

We can clearly see the architecture and design modes of J2EE such a framework for J2EE from J2EE Blueprint Mode.

The architecture design is the skeleton, the design mode is meat

In this way, a relatively rich design can be submitted to the programmer further, and the auxiliary engineering method can ensure that the project's architectural design can be completed and quickly complete.

Keep in mind the goal of architecture design

Since the architecture design is done in dynamics, it is important to grasp the target of architecture design, so in the entire project, even each step must keep in mind the overall goal of our architecture design, you can summarize the following:

1. Maximize reuse: This reuse includes multiple aspects such as components reuse and design patterns.

For example, there are user registration and user rights system verification in our project. This is actually a general issue. Each project has only its content and some subtle differences. If we have successfully developed experience in this area, you can reuse directly, if not, Then we have to carry out the research and development of this sub-project. During the R & D process, we cannot just see the needs of this project, but also to complete this sub-project that can be called components in the concept of architecture.

2. Simple and clear as possible: We solve the overall direction of the problem is to simplify complex problems, in fact, this is also the fundamental goal of middleware or multi-layer system technology. However, in the specific implementation design process, we may complicate simple problems, especially the design mode is easy to use, so how to do design as much as possible is not easy. I think that the specific implementation of each class must really reflect the essential characteristics of the system, because the essential characteristics of things are only one, the closer your code is, indicating that your design is simple, the more simple, you The more reliable the system. More situations are, a class does not respond to the essence of things, requiring a combination of multiple classes, then correctly using the appropriate design mode is called the top priority.

When we look at a system code with a good architecture design, we basically see is the design mode, the Pet Store is an example. Or can say this, a good architecture design is basically completed by a simple and clear multi-design model.

3. The most flexible expansion: architecture design must have flexible expansion, so users can develop or more specific development on your architecture.

To have flexible development, we must stand in the theoretical height to make architectural design. For example, the concept of workflow is gradually popular, because we have a lot of workflows in a lot of practice, a tree structure permission The concept of setting is more common to many areas.

The tree structure is the basic form of organizational information. We now see the website or the ERP reception is organized by the tree menu, then we can separate the tree structure and function when it is schema design, they Connectivity can be together through the node LINK of the tree structure, just like we can hang a variety of small gifts on the branches of the Christmas tree, these small gifts are all the functions we have to achieve.

With this concept, it is often difficult to implement the user-level permission control, and the specific user or group is also together with the tree structure node LINK, which indirectly implements the user's rights control, there is this The architecture of the basic design will undoubtedly have a flexible development.

转载请注明原文地址:https://www.9cbs.com/read-93502.html

New Post(0)