问题描述
哪位大虾跟小弟我讲一下c#三层架构????
解决方案
解决方案二:
去学软件工程,这种东西听别人讲七嘴八舌的只会越听越乱...而且这种理论概念的东西,很多人给你从技术层面一扯,就不是什么“三层架构”了...
解决方案三:
书上说。数据层、业务层、表示层。降低各层之间耦合度。做本层最关心的事。
解决方案四:
基本的三层结构就是表示层(显示给用户看的)数据访问层(连接数据库做数据库操作的)和业务逻辑层(一些业务的处理)当然根据不同的需要可以做不同的修改的
解决方案五:
数据数据访问层usingSystem;usingSystem.Collections.Generic;usingSystem.Text;usingSystem.Data;usingSystem.Data.SqlClient;namespaceEmployee{classEmployeeDAO{staticprivatestringGetConnectionString(){//Toavoidstoringtheconnectionstringinyourcode,//youcanretrieveitfromaconfigurationfile.return"DataSource=localhost;InitialCatalog=employee;PersistSecurityInfo=True;UserID=sa;Password=111111";}staticpublicvoidInsertEmployee(Employeeemployee){stringconnectionString=GetConnectionString();stringqueryString="insertintoemployee(name,sex,salary)values('"+employee.Name+"','"+employee.Sex+"',"+employee.Salary+")";SqlConnectionconnection=newSqlConnection(connectionString);SqlCommandcommand=connection.CreateCommand();command.CommandText=queryString;try{connection.Open();command.ExecuteNonQuery();connection.Close();}catch(Exceptionex){Console.WriteLine(ex.Message);}}staticpublicList<Employee>GetAll(){List<Employee>employeeList=newList<Employee>();stringconnectionString=GetConnectionString();stringqueryString="select*fromemployee";SqlConnectionconnection=newSqlConnection(connectionString);SqlCommandcommand=connection.CreateCommand();command.CommandText=queryString;try{connection.Open();SqlDataReaderreader=command.ExecuteReader();while(reader.Read()){Employeeemployee=newEmployee();employee.Name=reader["name"].ToString();employee.Id=reader["id"].ToString();employee.Sex=reader["sex"].ToString();employeeList.Add(employee);}reader.Close();}catch(Exceptionex){Console.WriteLine(ex.Message);}returnemployeeList;}}}业务逻辑层usingSystem;usingSystem.Collections.Generic;usingSystem.Text;namespaceEmployee{classEmployeeBLL{staticpublicList<Employee>GetAll(){List<Employee>empList=newList<Employee>();empList=EmployeeDAO.GetAll();returnempList;}staticpublicvoidinsertEmployee(Stringname,Stringsex){Employeeemployee=newEmployee();employee.Name=name;employee.Sex=sex;EmployeeDAO.InsertEmployee(employee);}//staticpublicfloatgetSalary(Employeeemp){floatsalary=0;returnsalary;}}}表示层usingSystem;usingSystem.Collections.Generic;usingSystem.Text;namespaceEmployee{classEmployee{privateStringname;publicStringName{get{returnname;}set{name=value;}}privateStringid;publicStringId{get{returnid;}set{id=value;}}privateStringsex;publicStringSex{get{returnsex;}set{sex=value;}}privatefloatsalary;publicfloatSalary{get{returnsalary;}set{salary=value;}}}}
解决方案六:
你们说的都是逻辑上的三层,只是将代码分开来写而已,这就是所谓的三层(DAL,BLL,UI)?有没有想过物理上面的三层呢?
解决方案七:
ModelDALBLL三层,即model层来封装实体对象、DAL完成业务逻辑处理、BLL又来传值,aspx充当view层。但我们通常将Model和DAL层和为一层,摒弃BLL层
解决方案八:
我建议到网上下载一份抄
解决方案九:
三层。一则安全性,二则降低各层之间耦合度
解决方案十:
使用动软代码生成器,三层自动生成后,再去看着代码研究
解决方案十一:
表示层业务逻辑层数据访问层表示层都是写窗体或者页面,主要作用就是想用户展示数据业务逻辑层将从数据访问层返回来的数据进行业务处理数据访问层的主要作用就是从数据库读取数据。
解决方案十二:
引用9楼rz_bing的回复:
使用动软代码生成器,三层自动生成后,再去看着代码研究
动软生成器对三层架构设置的很合理
解决方案十三:
数据访问层——业务逻辑层——表现层,业务逻辑层调用数据访问层,表现层调用业务逻辑层,三层架构中层的耦合度较高,你可以学习一下MVC
解决方案十四:
数据层、业务层、表示层。降低各层之间耦合度。做本层最关心的事。这话正确!
解决方案十五:
http://download.csdn.net/detail/swarb/3851428这有个demo,自己看下吧
解决方案:
引用9楼rz_bing的回复:
使用动软代码生成器,三层自动生成后,再去看着代码研究
+1
解决方案:
MVC就是典型的三层架构Model、View、Controller
解决方案:
主要是方面代码管理每个人只要负责自己那层的就可以了