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.