Using the Micrisoft.net design Scheme Chapter II Organizational model

Source: Internet
Author: User
Tags failover

A pattern depends not only on the smaller pattern it contains, but also on the larger pattern that contains it. It is a systematic approach to describing complex software.

The goal of this chapter is to let us know the following questions:

1.How to identify the relationship between patterns and patterns

2, how to organize patterns into a collection of patterns

3, how to use different levels of abstraction to divide the pattern

4.How to use the pattern to solve all aspects involved in the system

5. How to describe the solution with a pattern

Patterns and Patterns

Patterns can describe relationships. The object-oriented design software is composed of classes, if the relationship between classes and classes are thrown away, the pattern will not solve any problem. A pattern organizes a set of classes into manageable pattern collections.

When we design the system, we find that we use more patterns than we use, so how do we understand the role of the pattern? The key issue is understanding the relationship between projects. Patterns are closely related to patterns, so organizational patterns are organized according to relationships.

Pattern Cluster

It 's easy to switch from one mode to another, but we don't yet know how to use these patterns in the system , or what patterns we should learn. So this leads to another concept, which is the pattern cluster. A pattern cluster is a collection of patterns that involve a particular topic. With a pattern cluster, we can see how patterns and patterns are combined and how to build enterprise-class solutions. The pattern cluster is divided into 5 categories, namely:

Cluster Type the problem solved

Web representation to create a dynamic Web site

Distributed Systems resolve issues that communicate between different computers or processes

Deployment to resolve tiered applications deployed on tiered hardware

Performance and Security provides a reliable guarantee for certain important specific operations

Service Use external services and provide services externally

Different levels of abstraction

divide patterns into clusters for easy management, such as building The Web front end is as long as you start with a Web cluster. But different people in different stages of the project, the direction of interest is also different. Developers like the Page Control mode, while the system designer prefers layered (layer) mode. So we classify patterns from an abstraction level so that different people find the direction they're interested in. Traditionally, the pattern was divided into 3 classes using the abstract level , namely:

Architecture Pattern: The main description of the software infrastructure, in advance to set up the subsystem or the formation of the relationship, guidelines, behavior and functions. For example, layer mode

design pattern: Optimize the relationship between a subsystem or a build. The main solution is the recurring problem in the top and bottom. such as MVC design mode, single-piece (Singleton) mode

implementation pattern: A design pattern specific to a language or platform, such as Microsoft.NET Page Control mode

Viewpoint

The code does not fully respond to all aspects of the solution, such as hardware, network, and deployment, and therefore requires a name corresponding to the design pattern, thus introducing the concept of a viewpoint. Viewpoints do not describe hierarchies, but rather provide different ways of looking at things. From the software system is generally divided into four viewpoints, namely:

1. Database viewpoint: is a persistent layer of software for storing data

2. Application Viewpoint: Is the executable part of the solution, including domain model, class, assembly, process, etc.

3. Basic structure Viewpoint

4. Deployment Viewpoint

Schema framework

As reference points and navigation assistants provide a description of each individual pattern, along with a collection of various meaningful subcategories that organize the pattern. The schema framework has the following specific:

1, online things processing : Management transaction processing of the database subsystem, for business processing to provide atomic operations

2. Object-oriented

3. Layered Applications

4. graded distribution system

Using patterns to describe a solution

The constrained schema framework and the patterns it contains provide enough data points to begin using patterns to describe the entire solution. In fact, the quotation examples in Chapter 1 can be described in terms of patterns. Recall that a WEB-based quote application was specified in its requirements . Users who describe the solution architecture may make the following representations:

Let's take a look at this quote application at an abstract architectural level. From the application viewpoint, the quote application is an object-oriented application that logically constructs the three-layered Services application. (Layer three service application). From the database viewpoint, the application is based on the OLTP processing model. From an infrastructure perspective, hardware and network architectures are based on four-tiered distribution(level four distribution), which requires a different physical level of Web server functionality and application server functionality. Finally, from the deployment viewpoint, the team has created a Deployment plan (deployment plan) based on a complex WEB application tomap components to the server.

This outlines the architecture of the solution from all four viewpoints to the reader who is familiar with the reference pattern. Continue to move down an abstraction level and you might see the author describe the system design like this:

from the application viewpoint, let's consider separately each layer of the Three-layered Services application (three-tier service application).

the presentation layer is based around Model-view-controller (MVC) is constructed by the WEB representation framework. Although MVC separates the business layer from the presentation logic layer, each page contains a large amount of public logic. To eliminate this redundancy, we use the Page Controller to render common header and endnote information and to set a friendly display name for the user.

The business layer contains customers, quotations, orders, series items, and Inventory Field objects. Because development speed is an important requirement, these domain objects are implemented using the table module. Complex Web application Deployment model (deployment model) requires Web -level and application-level separation. Therefore, this level two is communicated through an agent program. The business entity Acts as the data Transfer Objects toencapsulate the information transmitted between these two levels.

Data Layer Usage The data Table Gateway accesses the OLTP database subsystem and uses a large number of data access components to support the persistence requirements of domain objects.

from the infrastructure perspective: to meet the operational requirements of the business, we add load-balanced Cluster (load Balancing cluster) and failovercluster(failover clustering) are based on basic four-tiered distribution (four-level distribution) model building. To meet the requirements of high-level concurrent users, we have added load balancing capabilities at the Web level. To meet availability requirements, we added a cluster at the database level.

You can continue to describe data and deployment viewpoints at the same level of abstraction. To do this, move down one level of abstraction, and you might see an implementation of the solution described by the author:

let's look at the solution from the application viewpoint. The solution is to useMicrosoft. NETtechnology to build. The presentation layer is based onaspin the built -inWebrepresents a frame. aspuse the built-in code-behind page functionality to simplifyModel-view-controllerthe implementation. We useaspin the built -inPage Controllermechanism to implement the presentation logic. The domain objects in the business layer are. NETThe managed object. Because the presentation and business tiers are deployed at different levels, we use server-activated objects to. NET RemotingImplementBroker. Finally, the data layer is based on. NET Frameworkin theadoclass to provide database access. Table Modules(table modules) and business entities are usedadothe data set component of the. The remainder of the data access component is determined by theMicrosoft application Blocks for. NETbuilding blocks are provided.

from the infrastructure perspective: Microsoft SQL Server? run in a failover cluster for OLTP Database subsystem. The Microsoft Network Load Balancing cluster provides load balancing between Web servers.

All these sessions are often referenced in various modes. Initially, this may be a bit daunting, but when you understand the pattern you're using, you'll realize that even a short description will give you a detailed understanding of how the system works. Note that you don't have to scroll through a large number of documents or step through endless lines of code to get an idea of this. Imagine the work involved in describing a solution without using patterns, and it is not difficult to know the communication benefits of the pattern.


This article is from "Tian Jian" blog, please make sure to keep this source http://lijianfeng10223.blog.51cto.com/3397166/1628992

Using the Micrisoft.net design Scheme Chapter II Organizational model

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.