ASP编程:Duwamish深切分析-布局篇
只要你想学,就没什么优缺点,上面那位大哥已经把网上的评论说了,但我认为想学哪个都一样,不然它就不可能在当今时代数字艺术方面存活到今天择要:本文深切具体的先容了Duwamish网上电子书店例程的布局框架,并具体的剖析了该布局的多少特性和计划形式。
--------------------------------------------------------------------------------
目次:
弁言
Duwamish先容
布局剖析
计划头脑
代码示例
总结
作者
--------------------------------------------------------------------------------
弁言:
可以作为VisualStudio.Net附带的例子,Duwamish必定包括了微软.Net计划步队但愿向开辟者转达的某些信息,而现实上,Duwamish也切实其实可以称作是一个.Net开辟者进修的典范示例,不管是从其计划架构,编程技能或代码作风,都向我们展现了一个尺度的.Net企业级使用程序所应当具有的特性。以是,经由过程研讨Duwamish示例,妙手可以意会到.Net使用架构的计划头脑,低手可以进修到.Net的编程技能,其实是老小咸宜。:)
不外,本文的目标更多的是针对中级.Net进修者,这类读者常常已熟习了C#大概是VB.NET的语法,会用一些基础的类库,并已会做一些对照小的程序。可是当他们入手下手动手开辟一个真正具有有用代价的企业级使用的时分,却有种无处动手的感到。假如你正巧属于这类进修者,请随着我深切到Duwamish的天下中往,信任你必定会失掉劳绩。
--------------------------------------------------------------------------------
Duwamish先容:
Microsoft公司每次推出新手艺,老是会响应的推出一些公然源代码的使用典范来讲明该项新手艺的特性,而开辟者也能经由过程研讨该典范的代码来到达敏捷把握新手艺并与以实行的目标。Microsoft经由过程对一个假造的在网上发卖图书的电子商务公司网上发卖体系使用的创立,向用户展示了典范的网上购物理论中最为广泛的电子商务企业对客户(B2C)形式,它包含成员资历、帐户办理、购物车、搜刮和结帐历程等基础功效。Duwamish履历了三个版本4.0,5.0和7.0版,每个版本的公布都印证了手艺前进的历程,每个版本都代表了事先开始进的手艺意向。这里将要研讨和会商的是Duwamish的最高版本7.0版,履历了COM/COM+手艺和MicrosoftDNA架构的Duwamish,在最新的版本中完整接纳了.Net手艺及架构,比之前显得加倍先辈和成熟。
假如您安装了VisualStudio.Net的话,您能够在您的VS.Net的EnterpriseSamples目次下找到并安装它,比方:C:ProgramFilesMicrosoftVisualStudio.NETEnterpriseSamples,大概您还能够到http://astradigital.com/Duwamish7Vb/这个地点往看看它在Internet的一个演示实例。别的有关Duwamish的具体先容材料请参考VisualStudio.Net附带的MSDN匡助,地点是:ms-help://MS.VSCC/MS.MSDNVS.2052/dwamish7/html/vtoriDuwamishBooks70.htm,这里不再赘述。
--------------------------------------------------------------------------------
Duwamish布局剖析:
Duwamish7.0是一个典范的N层架构,其布局分为四个逻辑层:
Web层
Web层为客户端供应对使用程序的会见。这一层是作为Duwamish.sln办理计划文件中的Web项目完成的。Web层由ASP.NETWeb窗体和代码埋没文件构成。Web窗体只是用HTML供应用户操纵,而代码埋没文件完成各类控件的事务处置。
营业表面层
营业表面层为Web层供应处置帐户、种别扫瞄和购书的界面。这一层是作为Duwamish.sln办理计划文件中的BusinessFacade项目完成的。营业表面层用作断绝层,它将用户界面与各类营业功效的完成断绝开来。除初级体系和撑持功效以外,对数据库服务器的一切挪用都是经由过程此程序集举行的。
营业划定规矩层
营业划定规矩层是作为Duwamish.sln办理计划文件中的BusinessRules项目完成的,它包括各类营业划定规矩和逻辑的完成。营业划定规矩完成如客户帐户和书本定单的考证如许的义务。
数据会见层
数据会见层为营业划定规矩层供应数据服务。这一层是作为Duwamish.sln办理计划文件中的DataAccess项目完成的。
对照使人狐疑的是个中的营业表面层和营业划定规矩层,良多人在进修N层布局开辟的时分,听得最多的是三层布局,分离为:暗示层,两头层和数据层。Duwamish的WEB层和数据会见层对照好了解,也就是传统意义上的暗示层和数据层,那末营业表面层和营业划定规矩层和我们熟习的两头层有甚么接洽呢?
--------------------------------------------------------------------------------
计划头脑:
在Web使用程序中,有部分操纵只是复杂的从数据库依据前提提取数据,不必要经由任那边理,而间接将数据显现到网页上,好比查询某种别的图书列表。而别的一些操纵,好比盘算订单中图书的总价并依据主顾的级别盘算背工等等,这部分常常有很多分歧的功效的类,操纵起来也对照庞大。我们能够先设想一下,假如我们接纳三层布局,这些贸易逻辑通常为会放在两头层,那末对外部的这些大批品种单一,利用办法也各别的分歧的类的挪用义务,就完整落到了暗示层。如许必将会增添暗示层的代码量,将暗示层的义务庞大化,和暗示层只卖力承受用户的输出并前往了局的义务不太相当,并增添了层与层之间的耦合水平。
为懂得决这个成绩,我们先来看看《计划形式》一文中对Facade形式的形貌:
企图:
为子体系中的一组接口供应一个分歧的界面,Facade形式界说了一个高层接口,这个接口使得这一子体系加倍简单利用。
合用性:
当你要为一个庞大子体系供应一个复杂接口时。子体系常常由于不休演变而变得愈来愈庞大。年夜多半形式利用时城市发生更多更小的类。这使得子体系更具可重用性,也更简单对子体系举行定制,但这也给那些不必要定制子体系的用户带来一些利用上的坚苦。Facade能够供应一个复杂的缺省视图,这一视图对年夜多半用户来讲已充足,而那些必要更多的可定制性的用户能够超出Facade层。
客户程序与笼统类的完成部分之间存在着很年夜的依附性。引进Facade将这个子体系与客户和其他的子体系分别,能够进步子体系的自力性和可移植性。
当你必要构建一个条理布局的子体系时,利用Facade形式界说子体系中每层的出口点。假如子体系之间是互相依附的,你可让它们仅经由过程Facade举行通信,从而简化了它们之间的依附干系。
布局图:
上文提出的这个冲突,恰好和计划形式中Facade形式中所形貌的必要办理的成绩十分符合,在《计划形式》中提出的办理的举措就是引进一个Facade工具,让这个Fa 运用ASP可将VBscript、javascript等脚本语言嵌入到HTML中,便可快速完成网站的应用程序,无需编译,可在服务器端直接执行。容易编写,使用普通的文本编辑器编写,如记事本就可以完成。由脚本在服务器上而不是客户端运行,ASP所使用的脚本语言都在服务端上运行。 我可以结合自己的经验大致给你说一说,希望对你有所帮助,少走些弯路。 Server:这个表示的服务器,操作服务器的一些东西使用这个,如Server.Mappath转换服务器路径,Server.CreateObject实例化一个组件 Application:这个存储服务端的数据,如果不清除,会直到web应用程序结束才清除(例如重启站点) ASP.Net摆脱了以前ASP使用脚本语言来编程的缺点,理论上可以使用任何编程语言包括C++,VB,JS等等,当然,最合适的编程语言还是MS为.NetFrmaework专门推出的C(读csharp),它可以看作是VC和Java的混合体吧。 你可以通过继承已有的对象最大限度保护你以前的投资。并且C#和C++、Java一样提供了完善的调试/纠错体系。 ASP主要是用好六个对象,其实最主要的是用好其中两个:response和request,就可以随心所欲地控制网页变换和响应用户动作了。 兴趣爱好,那么你无须学编程,申请一个域名和空间,在网上下载一些免费开源的CMS系统,你不用改代码,只须熟悉它们的后台操作,像office一样简单方便,很快就能建一个站点,很多站长都是这样做的 我们必须明确一个大方向,不要只是停留在因为学而去学,我们应有方向应有目标.
页:
[1]