System Architect-Basic to enterprise application architecture-stand-alone software architecture

Source: Internet
Author: User

Opening

System architecture of the article series, but also stranded too long, and recently also collated the next idea, will not be completed at the present content, write it, can not drag too long, not very good. So just write it on the weekends and today I

We're talking about standalone applications, which can be complex or simple to click on. Some stand-alone software can have no database, or can have a database, such as some of our usual tool class software, WordPad, V

s development tools, of course, many of the stand-alone software has a network of functions, stand-alone software, estimated that we sometimes recall, stand-alone software does not need any special architecture design it, it is not, because sometimes I

Our stand-alone tools, which may be available to different user groups, or when used by different people to adapt to different scenarios and requirements, will require our stand-alone software to

Consider. Because if you want to be sustainable, then a software or tool, whether it is a standalone software or an online software, needs to be considered.

Outline

1. Opening

2. Outline

3, the definition of single-machine software

4. Stand-alone software architecture

5, about the development of the single-machine software description

Definition of stand-alone software

Although the Internet is very popular, but there are a lot of software we are currently in use, of course, there are a lot of software, they can connect to the Internet, such software can not be counted as stand-alone software. The wide range of stand-alone software

Universal definition: A software or system that can be run without the Internet or online, called a stand-alone software or stand-alone system.

For example, I have many applications of this machine is a standalone version.

These are self-fulfilling functions, do not require networking, and do not need to interact with other computers to complete the function, equivalent to the function is autonomous, such software we think is a stand-alone software.

I have also done a lot of gadgets, such as we do a winfrom gadget, the completion of the text string replacement, or our own development of easy-to-use gadgets, can be seen as a recommended single-machine software.

Vs in some cases, we also call it powerful standalone software. Below we will combine our protagonist to illustrate the need for architectural design. We are here with the interface designer in the Agileeas.net platform

To illustrate. The interface designer itself is a very independent tool that can be run, generating an interface model based on the model files produced by the data Model designer of the Agileeas.net platform.

Architecture design of stand-alone software

Single-machine software is generally relatively simple, then from the perspective of architecture design, the general logic architecture requirements are relatively high, the structure of the physical architecture requirements of almost 0, of course, may be because the future to adapt to the market

Changes, may require a single-machine software to achieve LAN or Internet Information sharing or Internet application integration, this time need to consider a higher level of architecture, of course, we also need to consider this aspect of design considerations,

But we're going to start with a simple architecture that shows how to adapt to this change.

1. The design of the system architecture we have just opened may be the case. The system architecture is driven by demand, since the first requirement is simple. For example, the first customer asked me to develop a simple interface designer, no

requirements, I am able to implement a simple drag and drop function.

I analyzed the following structure according to the requirements:

By layering, the common drag-and-drop base components are placed on the base component layer, and the configuration pages related to the development design drag-and-drop pages are placed in the Design view layer.

2, later, came a demand, said is to be able to generate the page Design view through the wizard, then I think the next, there will be the system to modify the schema as follows:

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

3, then, with the change in demand, there is a requirement can generate code, output winfrom page code, the need to drag and drop the page to see what kind of interface, require the output of the Winfrom interface code with the designer to see

The visual interface is the same, and my architecture is designed as follows.

4, through the above architecture design, I found that the follow-up demand came, but this time I through the design, has been able to deal with this demand, this time the demand change is to support a variety of page performance style.

For example, in the designer view, design once, you can generate the same page of Winfrom, the Web page layout is similar, colleagues may support Silverlight and WPF.

In this case, you do not need to do large architectural refactoring, just modify the CodeDom layer and view the original designer

Figure calls the code generation, replaced by the interface calls the way to decouple, the subsequent if need to add, only need to implement the interface.

5. It's time for new requirements to integrate tools with other tools, such as the SDM files generated by the data Model Designer in the Agileeas.net platform, to support opening and saving

Function. The design of the interface model file is stored in the SDM file, which is how this is handled.

6, the end is almost finished, the follow-up may also have new requirements, may require me to modify the stand-alone tool for networking software, or the design of the interface is saved to the database, to achieve application deployment of the dynamic

Change orders, and so on, is a very likely requirement, and perhaps my architecture needs to change.

7, the future requirements in the Internet dynamic Update the software, to support the intelligent upgrade of software.

Stand-alone Software Architecture description

Even today, there are many complex stand-alone systems, most of which are specialized products, such as CATIA in CAD/CAM, proengineer,autodesk AutoCAD, and our familiar photo

Shop, Coraldraw, and so on (the advanced versions of these systems may offer some networking features, but cannot change the nature of their standalone systems).

So what I want to say here is that the complexity of software architecture does not mean that the software system is complex, in fact, the software architecture design is more important area only one, that is, the information system field, that is, data processing (storage, transmission

Security, query, display, etc.) as the core of the software system. Software applications in other industries are not so emphatic about the concept.

Microsoft's. NET's architecture diagram

Instructions on stand-alone software

For example, the above-mentioned content, we are below to demonstrate the software tool has the function and design ideas.

1. Main interface:

Support for opening. SDM files:

At this point, we chose the solution file that was generated based on the ORM Data Model Designer in Agileeas.net, so

It is possible to integrate and unify the interface designer with the data Model Designer, and also facilitate the use of developers. Of course, it is possible that subsequent integration of the tool functionality into a single console.

So we need to consider in the process of architecture design, follow the possible requirements, but we can not unduly consider the scalability, because of the change in demand, we can not foresee 100%, so we can only do

Can adapt to change, according to statistics, the system architects consider the extensibility, 20% of the odds in the actual project used to, 80% of the extensibility of the design, and did not use, so a word, specific problems specific analysis.

Then there is the build solution:

Select "Build Solution" to see the following selection page:

Build the solution directly from the model file of the interface designer.

Meet ever-changing needs through continuous demand-adding and architectural design expansion. All this determines the design success or failure of the architecture.

More

For example, our usual VS2010 development tools, we can witness the powerful and flexible design of the tool, strong extensibility, and its architecture and design are not unrelated, vs through the plug-in can expand a lot of strong

Big features, VS also supports the development of project templates to improve the speed of development. These are the issues that we should consider when designing a stand-alone software tool, of course, if you are doing a standalone software tool to solve a problem,

And be able to adapt to the growing changes, of course, some tools, we do not need excessive design, excessive design is often not obvious, do not let our design because the impossibility of 80% caused by excessive bloated

Design, such a design is a failure of the design, such an example is too many, I originally also wanted to design the lower the coupling, the greater the scalability of the better, found that the actual project is not the case.

A bucket of water, is limited, just good best.

Related information

Download the information.

If you have any questions about using the Agileeas.net development platform, please use one of the following contact or communication methods.

1, phone-mail mode:

Hego:[email protected] Mobile: 18691480181 Blog: http://www.cnblogs.com/hegezhou_hot/

2, QQ Exchange:

308961614-Net Name: H.O.T

3, QQ Exchange Group:

185074255 New

Agileeas.net Rapid Development Platform Download

Please click on the image to download.

System Architect-Basic to enterprise application architecture-stand-alone software architecture

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.