Oxite Project Structure Analysis

Source: Internet
Author: User

 

Oxite has six projects, each of which serves as a different layer in the project architecture. Next we will analyze the six projects separately.

We can see that these six projects are oxite, linqtosqldataprovider, MVC, test, oxitesite ,(Oxite. DatabaseInstall SQL server2005 ).

 

1.Oxite

This project contains the definition of routing, model and service layerCodeAnd the background service class and configuration class during the oxite runtime. At the same time, the interface of the data access layer is also defined in this project, but it is not implemented.

    • BackgroundservicesDefines the plug-in service class,
    • ExtensionsIt is the extension of various common methods, such as IP addresses, strings, and reflection.
    • HandlersClasses that are overloaded by httphandler. It is used to operate user requests.
    • InfrastructureThis directory contains a large number of classes and defines public methods,
    • ModelThis is the easiest way to understand Oo, that is, the definition of objects, m in MVC.
    • Repositoris the data access layer interface of oxite. It uses the repository mode and works with linq2sql.
    • RoutingDefine and extend a routing rule ., There are also corresponding constraints.
    • ServicesThe oxite service layer is the intermediate service layer in the traditional three-tier architecture. Contains service interfaces and specific implementations.
    • ValidationSome common verification methods.

 

2. linqtosqldataprovider

This project contains implementations of all the repositories and uses linqtosql for data access. currently it doesn' t map the database directly to the Entity objects but rather to an intermediate set of objects which are then translated into the standard oxite entites. this is one of the areas we're looking at changing in a future release.

The project package implements the data access layer and uses linqtosql to perform database operations.

Linqtosql is used in this project, and serves as the data access layer in the project architecture.

 

3. MVC

This project contains all the code at the controller and view layers for data communication between controllers and views, and the metaweblog API written by WCF for external services.

    • Actionfilters defines various interceptors
    • ControllersAll controllers are defined in this directory.
    • ExtensionsSome methods in the MVC framework include blogml, datetime, htmlhelper, and httpcookie.
    • InfrastructureBasic Class
    • Modelbinders converts a data submitted by the client to a model, which is simple or complex. Generate complex object parameters for actions
    • Results?
    • ServicesSome external service interfaces.
    • SkinningMethods for theme skin operations
    • Viewmodels is used to bind data from the Controller to the view.
    • Containerfactory reflection Factory
    • Oxiteapplication. CS transfers the method in globle here, and only displays the site project.

 

4. MVC. Test

This project defines the test class for the entire solution and uses the xunit.net testing framework.

 

5. Site

This project contains views, themes, and Web. config files. And put all the C # code in the oxite. MVC project.

    • There is no C # code in the site project. Only the view is displayed.
    • Public content, such as public images, public scripts, and public resources
    • Skins skin. It contains the Style File and scripts used by the topic. (I personally think it is more appropriate to put some common scripts under the content .)
    • ViewsShared view. Like error, masterpage

 

6.Oxite. Database

Database projects facilitate database architecture and data comparison, updating, and deployment.

PS: Because the database project needs to Install SQL Server 2008, but I use, I will not talk about it for the moment.

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.