仓酷云

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 723|回复: 8
打印 上一主题 下一主题

[学习教程] 营业逻辑计划之举动纪录形式

[复制链接]
莫相离 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-1-16 14:19:16 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
一般的指的.net就是跟java相对的那种,主要是做企业级应用的。你如果想学这个,主要就是学C#和数据库。(ASP.NET好像很重要的,应该也要学的,ASP.NET上好像可以结合VB和C#等多种语言,但是微软主推C#)
举动纪录形式概述
举动纪录就是指一个封装了数据库表或视图的一行的工具,工具中能够同时包括数据(列中的值)和举动(包括逻辑的办法)。举动纪录工具的了局应当尽量地靠近于相干联的数据表布局。比方,若你想依据Orders表创立举动纪录工具,那末就要供应一个Order类,该类的属性应当与Orders表的列逐一对应。

暗示一行数据的举动纪录工具一般也会供应数据会见逻辑,因而,它必要利用一些帮助组件将纪录映照究竟层数据上。

举动纪录工具中一般会包括用来实行经常使用查询的查找办法、CRUD操纵、考证和范畴相干的盘算和反省功效。比方,Invoice工具大概必要考证一些自力的数值(比方,商品的个数,日期,进度数字和客户ID等),还大概会实行一些高低文相干的反省,比方,考证邮政编码是不是存在并正当,反省付出条目和盘算税费等。

1,什么时候利用举动纪录
一样平常来看,只需范畴逻辑不是太庞大,且与数据模子之间不必要很庞大的映照干系,那末举动纪录都能很好的处置各类需求。

举动纪录十分合适良多的Web站点,由于不管个中触及几个数据表,其营业实体和干系型数据库的布局年夜多对照相似。

在那些没有服务层的使用程序中,举动纪录能够和事件剧本分离利用。如许,事件剧本用来界说呼应用户操纵的代码,随后利用举动纪录经由过程面向工具接口操纵数据。能够看到,事件剧本替换了服务层,并间接操纵于举动纪录工具模子之上。

2,举动纪录的上风
举动纪录的乐成依附于两个要素:复杂和框架,这两个要素严密相干。举动纪录观点上非常复杂,易于了解,不外若手工完成,仍然必要良多代码。

编写并保护每个类都必要大批的代码,不外这仅是最低的需求,由于你大概还必要思索为每一个类或数据表增加一个或多个数据迁徙工具。我们的一个伴侣对此有如许的意见:“这的确是个使人腻烦的事情,不外我们只是个开辟者,要靠写代码来挣钱,因而编写代码就是我们的事情。”

不外关于每一个人,包含开辟者来讲,进步临盆力是必需的,我们常常用如许的概念辩驳他。这类设法也失掉了人人的供认,因而有一些公司为举动纪录供应了框架上的撑持。不外我们能够了解,良多开辟者喜好举动纪录,但实在际完成历程使人腻烦。

很难否定的是,举动纪录的确在复杂和终极体系的壮大方面找到优秀的均衡,且该形式也失掉了良多供应商的撑持,比方:LINQ-to-SQLCastleActiveRecord

3,举动纪录的优势
关于绝对复杂的逻辑来讲,举动纪录十分符合。不外这是把双刃剑,若使用程序不利用干系型数据模子,那末就要靠野生来构造数据属性,并和谐两者之间的干系。实际上,这个分外的笼统层存在于工具模子和数据模子之间,一般叫做数据映照层。在举动纪录中,我们能够将该层间接集成至工具中。不外跟着这一层愈来愈庞大,保护本钱也渐渐进步。

举动纪录的另外一个成绩是工具和数据库表计划之间的绑定。若你不能不修正数据库,那末要同时个修正举动纪录工具模子和一切的相干代码。而若将工具模子完全地从数据库布局中笼统出来,那末又要手工承当一切的映照工具。

总而言之,在举动纪录中,若不再可以包管工具模子和数据模子之间充足相似,那末将很快堕入窘境。从这个角度来看,举动纪录站在了范畴驱动的计划的对峙面。

别的,关于那些年夜型的,触及加载并保留上千个纪录的操纵而言,举动纪录(或任何工具模子)都不算是个幻想的情况,由于将原始数据加载至工具中的历程会带来不小的开支。关于数千笔记录来讲,这会成为一个很年夜的成绩。关于这类情形,你能够间接利用ADO.NET,并用事件剧本类封装。

4,和表模块模子的区分
在举动纪录模子中,每一个数据库表都用一个类来暗示。粗看起来这仿佛和表模块形式没甚么不同,不外实在现细节有很年夜不同。举动纪录类只是一个复杂的.NET类,其属性的称号和范例对应于数据表的列。若想将多个工具组合起来,那末可使用数组或汇合。换句话说,Orders表对应的Order类中有一个整型属性OrderID和一个DataTime属性OrderDate等。数据表中一切Order工具是由一个Order工具的汇合暗示的,那末这和表模块类有甚么区分呢?

若重新入手下手创立表模块形式,那末仿佛没有甚么区分。不外若利用了ADO.NET范例,那末区分是会容易发觉。在表模块中,我们利用DataRow来暗示一个定单纪录,利用DataTable来暗示一个定单工具的汇合。强范例的DataTable和DataRow者是泛型的数据容器,而数据则存在于一个System.Object类的实例中,并在必要时转型为强范例。在表模块中,你并没有传统的强范例.NET工具,而这恰是举动纪录区分于表模块形式的中央。
简单的说:.net只有微软一家在做的,微软也不允许别人跟他做相同的工具,所以他就把需要的工具全部封装在.net的平台上了;而java是公开了。
柔情似水 该用户已被删除
沙发
发表于 2015-1-18 12:52:18 | 只看该作者
平台无关性是PHP的最大优点,但是在优点的背后,还是有一些小小的缺点的。如果在PHP中不使用ODBC,而用其自带的数据库函数(这样的效率要比使用ODBC高)来连接数据库的话,使用不同的数据库,PHP的函数名不能统一。这样,使得程序的移植变得有些麻烦。不过,作为目前应用最为广泛的一种后台语言,PHP的优点还是异常明显的。
admin 该用户已被删除
板凳
发表于 2015-1-25 15:08:01 | 只看该作者
HTML:当然这是网页最基本的语言,每一个服务器语言都需要它的支持,要学习,这个肯定是开始,不说了.
愤怒的大鸟 该用户已被删除
地板
发表于 2015-2-2 22:39:21 | 只看该作者
由于CGI程序每响应一个客户就会打开一个新的进程,所以,当有多个用户同时进行CGI请求的时候,服务器就会打开多个进程,这样就加重了服务器的负担,使服务器的执行效率变得越来越低下。
精灵巫婆 该用户已被删除
5#
发表于 2015-2-8 19:07:35 | 只看该作者
代码的可重用性差:由于是面向结构的编程方式,并且混合html,所以可能页面原型修改一点,整个程序都需要修改,更别提代码重用了。
只想知道 该用户已被删除
6#
发表于 2015-2-25 23:31:12 | 只看该作者
Servlet的形式和前面讲的CGI差不多,它是HTML代码和后台程序分开的。它们的启动原理也差不多,都是服务器接到客户端的请求后,进行应答。不同的是,CGI对每个客户请求都打开一个进程(Process)。
活着的死人 该用户已被删除
7#
发表于 2015-3-8 10:25:33 | 只看该作者
对于中小项目来说.net技术是完全可以胜任,但为什么现在大型公司或网站都选择php或java呢?就是因为微软不够开放,没有提供从硬件到应用服务器再到业务应用的整套解决方案。
深爱那片海 该用户已被删除
8#
发表于 2015-3-15 22:23:55 | 只看该作者
ASP.NET:ASP.net是Microsoft.net的一部分,作为战略产品,不仅仅是ActiveServerPage(ASP)的下一个版本;它还提供了一个统一的Web开发模型,其中包括开发人员生成企业级Web应用程序所需的各种服务。ASP.NET的语法在很大程度上与ASP兼容,同时它还提供一种新的编程模型和结构,可生成伸缩性和稳定性更好的应用程序,并提供更好的安全保护。
老尸 该用户已被删除
9#
发表于 2015-3-22 17:08:25 | 只看该作者
由于JSP/Servlet都是基于Java的,所以它们也有Java语言的最大优点——平台无关性,也就是所谓的“一次编写,随处运行(WORA–WriteOnce,RunAnywhere)”。除了这个优点,JSP/Servlet的效率以及安全性也是相当惊人的。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|仓酷云 鄂ICP备14007578号-2

GMT+8, 2024-12-23 22:43

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表