Architecture design and development based on pattern, part 2nd: Using architectural patterns

Source: Internet
Author: User

Before you start

This series is divided into two parts that can be read by programmers, architects, developers, and technology enthusiasts who are interested in improving software application design. After you have completed this series of studies, you will be able to use the best practices described in it and choose the right design patterns to solve specific problems.

About this series

This series of tutorials shows how to apply design patterns to address architectural design issues by using a railway booking case study.

The 1th part introduces a railway booking system that takes you through several considerations in the design that can help you decide where to use design patterns to improve your design and thus improve the overall performance of your system.

This tutorial discusses the non-functional requirements of the application and explains why the software architect must address these requirements that will affect the performance, availability, scalability, and enhancement of the application. Considerations for disaster recovery and recovery features are also discussed in more detail. The end of this tutorial will discuss the issue of using the framework in your design.

About this tutorial

Architecture patterns can help you define an infrastructure organization or schema for your software system. It also provides a predefined set of subsystems that specify responsibility for each component used in the system, and it also contains rules and guidelines for use in relationships between organizational subsystems. Design patterns provide a pattern that is designed to refine the subsystems or components that define the entire software application. It also provides a glossary that defines the relationships between subsystems. Design patterns are used to describe solutions to general design problems that occur in a particular environment.

This tutorial expands the railway booking system discussed in part 1th, in which several architectural patterns are applied. The architecture pattern can be divided into different types. Deploying architectural patterns is most important, because the way applications are deployed is critical to all non-functional requirements, such as performance and availability.

In this tutorial, you will look at the non-functional requirements of railway booking systems from an architect's perspective. You will learn how to use different architectural patterns to improve the basic design of your system. This tutorial will also discuss using frameworks such as MVC, Struts, and Spring to handle other design issues, including code reuse and overall time issues for application development using a framework (or combination of multiple frameworks).

Some of the architectural considerations discussed in this tutorial are:

Performance

High scalability

Failover and Fault feedback features

Disaster recovery

Prerequisite

This tutorial assumes that you are familiar with design patterns and understand basic object-oriented concepts. If you have some knowledge of the Unified Modeling Language (Unified Modeling Language, UML), this will help, but it is not necessary. The sample code is written in Java™, but its contents are simple enough to be easily converted to the language of your choice.

You can download Java 5.0 if you want.

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.