用.net做B/S结构的系统,您是用几层结构来开发,每一层之间的关系以及为什么要这样分层?
答:
从下至上分别为:数据访问层、业务逻辑层(又或成为领域层)、表示层
数据访问层:有时候也称为是持久层,其功能主要是负责数据库的访问
业务逻辑层:是整个系统的核心,它与这个系统的业务(领域)有关
表示层:是系统的UI部分,负责使用者与整个
系统的交互。
优点: 分工明确,条理清晰,易于调试,而且具有可扩展性。
缺点: 增加成本。
分层式结构究竟其优势何在?
1、开发人员可以只关注整个结构中的其中某一层;
2、可以很容易的用新的实现来替换原有层次的实现;
3、可以降低层与层之间的依赖;
4、有利于标准化;
5、利于各层逻辑的复用。
概括来说,分层式设计可以达至如下目的:分散关注、松散耦合、逻辑复用、标准定义。
分层式结构也不可避免具有一些缺陷:
1、降低了系统的性能。这是不言而喻的。如果不采用分层式结构,很多业务可以直接造访数据库,以此获取相应的数据,如今却必须通过中间层来完成。
2、有时会导致级联的修改。这种修改尤其体现在自上而下的方向。如果在表示层中需要增加一个功能,为保证其
设计符合分层式结构,可能需要在相应的业务逻辑层和数据访问层中都增加相应的代码。
MVC模式
MVC(Model- View-Controller)把交互系统的组成分解成模型、视图、控制器三种部件
mvc的优点:
1.通过把项目分成model view和controller,使得复杂项目更加容易维护。
2.没有使用view state和服务器表单控件,可以更方便的控制应用程序的行为
3.应用程序通过controller来控制程序请求,可以提供丰富的url重写。
4.对单元测试的支持更加出色
5.在团队开发模式下表现更出众
MVC的不足:
(1)增加了系统结构和实现的复杂性。对于简单的界面,严格遵循MVC,使模型、视图与控制器分离,会增加结构的复杂性,并可能产生过多的更新操作,降低运行效率。
(2)视图与控制器间的过于紧密的连接。视图与控制器是相互分离,但确实联系紧密的部件,视图没有控制器的存在,其应用是很有限的,反之亦然,这样就妨碍了他们的独立重用。
(3)视图对模型数据的低效率访问。依据模型操作接口的不同,视图可能需要多次调用才能获得足够的显示数据。对未变化数据的不必要的频繁访问,也将损害操作性能。
asp.net 如何实现MVC模式,举例说明!
web/business/dataaccess
列举ASP.NET 页面之间传递值的几种方式。
1.使用QueryString, 如....?id=1; response. Redirect()....
2.
使用Session变量
3.使用Server.Transfer
请说明在.net中常用的几种页面间传递参数的方法,并说出他们的优缺点。
session(viewstate) 简单,但易丢失
application 全局
cookie 简单,但可能不支持,可能被伪造
input ttype="hidden" 简单,可能被伪造
url参数简单,显示于地址栏,长度有限
数据库稳定,安全,但性能相对弱
列举ADO.
NET中的五个主要对象,并简单描述
connection,command,dataReader,trans,dataset ...
Connection 对象主要是开启程序和数据库之间的连结
Command 对象主要可以用来对数据库发出一些指令,例如可以对数据库下达查询、新增、修改、删除数据等指令
DataSetCommand 对象主要是在数据源以及DataSet 之间执行数据传输的
工作 DataSet 这个对象可以视为一个暂存区(Cache),可以把从数据库中所
查询到的数据保留起来
DataReader对象只是一次一笔向下循序的读取数据源中的数据,而且这些数据是只读的,并不允许作其它的操作。
因为DataReader 在读取数据的时候限制了每次只读取一笔,而且只能只读,所以使用起来不但节省资源而且
效率很好。使用DataReader 对象除了效率较好之外,因为不用把数据全部传