My ASP. NET ProgramSolution 1 Introduction 1.1 Preface
First of all, I want to explain to you how perfect the solution is or how well the architecture is.B/SSoftware solutions are discussed here. Therefore, it is also possible if it feels like Spam after reading it... I have also seen many such solutions on the Internet. I think this is more fulfilling than they have said.
Now, go to the topic.
1.2 Development Environment
Vs2005 + Orac le9.0 +Third-party controls (Infragistics2.webui)
1.3 Technology Used
ASP. NETCommon Technologies+ Ajax +Layered
2 Solution 2.1 Model Architecture
First look at the solution,-1As shown in
Figure-1
2.2 Non Webui Solution
D: \... \ yljdweb \Project isWeb Site, Which belongs to the interface layer of the program.
YljdA project is a console program that can be used to test some programs. It does not work for the program itself.
YljdmodelProject is notUIAll content of the layer, including the data layer, business layer, and so on . The reason why we only created this project is that the business and technology involved in this module are relatively simple, and there is no need to create a real data layer, business layer, entity layer, and so on. However, this can also reflect the concept of hierarchy, but in the subsequent development process, the concept of hierarchy is somewhat vague...
In fact, each folder in this project can create a project separately, andDLLFile Format reference.
2.2.1dbutilities Folder
Figure-2
DbutilitiesThe folder belongs to the data layer and serves to interact with the database.
IdbhelperIs a data interface.
MsoralcehelperProvided by MicrosoftOracleDatabase Methods
OracledbhelperDeveloped by ourselvesOralceDatabase, but most of the methods are calledMsoralcehelper.-3As shown in
Figure-3
Note: you also needDbhelperfacotryFactory class, used to assemble which database to use based on options. Because you only needOracle, So no
2.2.2entity Folder
Figure-4
Object files are used to map the table structure in the database to the foreground.CodeGenerate a generator. It is relatively simple.
It seems that some programs useEntityThis stuff interacts with the front-end interface layer to collect data for use. My project does not use thisEntityTo collect data, useDatatableAndDataset. The reason will be discussed later.
2.2.3service Folder
Figure-5
The function is equivalent to a class library, which is a common method. It is stored in this folder in different categories and can be called by other files at any time. This is relatively simple. There is only one file. In fact, it can be divided into several files by function, such:Stringservice, xmlservice, iniservice, dbservice, authservice (Permission)And so on
2.2.4business Folder
Figure-6
The function is equivalent to a class library, but it focuses on business class libraries, real business class libraries of a certain industry.
2.2.5facade Folder
Figure-7
The definition of this folder is a bit vague. I first defined it as the appearance layer for calling external methods, and then I defined it as two functions: calling external modules and being called by external modules, two functions, that is. Whether this module is introduced to other modules or other modules, it is cited in this folder.
If this method is also used in this program, you needModelDeclare another method in the file and callFa C Ade. Not AllowedWebuiLayer direct callFa C AdeFile
2.2.6model File
Figure-8
Every file here is actually a module. Example:ShiyanxmmodelAndShiyanhzmodelThe two files are actually lab projects and lab patients.That is to say, each module has a dedicatedModelFile corresponds to it. The front-end module andModelFiles are in a one-to-one relationship.Of course,ModelAll files are inherited fromBasemodelFiles, more common methods are written inBasemodelModerateOK.-9As shown inBasemodelClass layout.
This seems to be different from the methods used in many projects on the Internet. The reason why we emphasize this is that we can see whether this process is reasonable? Or what are the risks?
Figure-9
3 webui Solution
Figure-10
-10As shown in,ListA page is a list page that containsFrameFramework,FrameThe URL pointed to by the Framework isListgridPage.
Now let's talk about why it is not used.EntityClass.
Figure-11
-11As shown in the following figure, the module is saved.DatasetAs the filling data source, you can create a common methodSaveTo save data to any module.
4 Pending issues
This document is just a reference. If you are interested, contact me and study it together! Thank you.
every technical point or implementation method used here may be different from everyone. I hope you can put forward your ideas and discuss them together.