System Architect-Basic to enterprise application architecture-standalone software architecture

Source: Internet
Author: User
ArticleDirectory
    •  
    • Download agileeas. Net quick development platform
Opening

The article series of the system architecture has been stranded for too long. Recently, I have also sorted out my ideas and completed the unfinished content. It cannot be dragged on for too long. So let's write it over the weekend. Today I

We are talking about stand-alone applications. clicking an application can be complicated or simple. Some stand-alone software can have no database or databases, such as some of our usual tool-type software, WordPad, V

S development tools, and so on. Of course, many stand-alone software currently have the networking function. Single-host software may sometimes be used to recall that the stand-alone software does not require any special architecture design, because sometimes I

Their stand-alone tools may be provided to different user groups, or when they are used by different people to adapt to different scenarios and needs, it will require our stand-alone software to also be structured.

Consider. If you want to achieve sustainable development, you need to consider a software or tool, whether it is stand-alone software or online software.

 

Outline

1. Opening

2. Outline

3. Definition of stand-alone software

4. Stand-alone Software Architecture

5. About the developed standalone software

Definition of standalone software

Although the Internet is prevalent at present, there are still a lot of software that we are currently using. Of course there are also a lot of software that can be connected to the Internet. Such software cannot be regarded as a single-host software. Wide Range of standalone software

A general definition: A software or system that can run without the Internet or online. It is called a single-host software or a single-host system.

For example, many of my local applications are in the standalone version.

These functions can complete their own functions without the need to connect to the Internet or interact with other computers, which is equivalent to autonomous functions, such software is regarded as stand-alone software.

I have also done a lot of gadgets before. For example, we can make a winfrom gadget to replace text strings, or develop our own easy-to-use gadgets, which can be considered as a recommended standalone software.

In some cases, VS is also called a powerful stand-alone software. Next we will explain the necessity of Architecture Design Based on our leading role. Here we use the interface designer in the agileeas. NET platform

. The interface designer is a very independent tool that can run. It generates an interface model based on the model files generated by the data model designer on the agileeas. NET platform.

Architecture Design of standalone software

The standalone software is generally relatively simple, so from the perspective of architecture design, it is generally in the logic architecture requirements are relatively high, the physical architecture requirements are almost 0, of course, it may be due to future adaptation to the market.

The change may require single-host software to achieve information sharing or Internet application integration over the LAN or the Internet. At this time, we need to consider a higher level of architecture. Of course, we also need to consider this factor during design,

However, this article explains how to adapt to such changes from a simple architecture.

1. The system architecture we just launched may be designed like this. System architecture is driven by requirements, because the requirements are simple at the beginning. For example, at the beginning, the customer asked me to develop a simple interface designer.

If required, you must be able to implement simple drag and drop functions.

I analyzed the following structure as required:

By layering, you can place basic components such as universal drag-and-drop on the base component layer, and place the configuration pages related to the development and design drag-and-drop pages on the design view layer.

2. Later, I came up with another requirement to generate a page design view through the Wizard. Now I thought about how to change the system architecture to the following:

At this time, you need to add a new layer, which is responsible for adding all the wizard pages, and then the designer view layer loads the component elements of the interface according to the configuration. The system architecture is as follows:

3. Later, as the demand changes, a requirement can be generated.CodeTo output the winfrom Page code, you need to drag the page to see what kind of interface, you need to output the winfrom interface code and the designer to see

The visual interface is the same. At this time, my architecture design is as follows.

4. Through the above architecture design, I found that the subsequent requirements are coming again. However, this design can already deal with this demand. This demand change is, multiple page presentation styles are required.

For example, in the designer view, design a page once to generate the same page as winfrom. The web page layout is similar. Colleagues can support Silverlight and WPF.

In this case, you do not need to rebuild the large architecture. You only need to modify the codedom layer to view the original designer

The code generated by the graph call is replaced by the interface call Method for decoupling. If you need to add the code later, you only need to implement the interface.

5. At this time, new requirements are coming. We want to integrate the tool with other tools, for example, to integrate agileeas. the SDM file generated by the data model designer in the. NET platform is integrated and can be opened and saved.

Function. How to store the designed interface model file to the SDM file.

,

6. In the end, there may be some new demands. I may be asked to change my standalone tool to a networked software, or save the designed interface to the database, dynamic Application Deployment

Status Change tickets and so on are all very likely requirements. At this time, my architecture may need to change.

7. In the future, the software should be dynamically updated on the Internet to support intelligent software upgrade.

Standalone software architecture

Even today, there are many complex stand-alone systems, most of which are specialized products, such as CATIA, proengineer, Autodesk's AUTOCAD in the CAD/CAM field, and our familiar photo

Shop, coraldraw, and so on (the advanced versions of these systems may provide some network functions, but they cannot change the essence of their standalone systems ).

So what I want to say here is that the complexity of the software architecture does not represent the complexity of the software system. In fact, there is only one important field in the software architecture design, that is, the information system field, that is, data processing (data storage, transmission

Transmission, security, query, presentation, etc.) as the core software system. Software applications in other industries do not really emphasize this concept.

Architecture of Microsoft. NET

About standalone software

For example, the following describes the functions and design ideas of the software tool.

1. Main Interface:

Open the. SDM file:

In this case, we select the solution file generated by the ORM Data Model Designer in agileeas. net.

The interface designer can be integrated and unified with the Data Model Designer, which is also convenient for developers. Of course, it is also possible to integrate the tool functions into a console in the future.

Therefore, we need to consider the possible requirements in the architecture design process. However, we cannot consider the scalability too much. Because of the changes in requirements, we cannot predict 100%, so we can only do everything we can.

According to statistics, the scalability considered by the System Architect is 20% more likely to be used in the actual project, and the scalability Design of 80% is not used. So in a word, analyze specific issues.

Then a solution is generated:

Select "generate solution" and the following selection page appears:

Directly generate a solution using the model file of the interface designer.

By constantly adding demand and expanding architecture design, we can meet the ever-changing needs. All of these determine the design success or failure of the architecture.

More

For example, we usually use vs2010 development tools. We can witness that the powerful and flexible design and powerful scalability of this tool are unrelated to its architecture and design, VS can be expanded a lot through plug-ins

Great features. vs also supports development of project templates to speed up development. These are the issues we should consider when designing stand-alone software tools. Of course, the premise is that your stand-alone software tool is designed to solve a certain problem,

And can adapt to the increasing development and changes, of course, some tools, we do not need to over-design, over-design is often not obvious, don't let our design be overly bloated due to 80% of the impossible

Design, such a design is rather a failed design. There are too many such examples. I originally thought that the lower the design coupling, the stronger the scalability, the better, this is not the case in actual projects.

A bucket of water is limited, just the best.

Related information

download information.

if you have any questions about using the agileeas. NET development platform, use the following contact methods or communication methods.

1. Telephone-Email:

He gozhou: hegezhou_hot@163.com Mobile: 18691480181 blog: http://www.cnblogs.com/hegezhou_hot/

2. QQ communication:

308961614-Network Name: h.o. T

3. QQ chat group:

185074255 new

download the agileeas. Net quick development platform

click to download the image.

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.