仓酷云 发表于 2015-1-16 22:43:10

ASP.NET网页编程之叩开C#之门系列之C#与面向工具编程言语...

如果英语好,口才好,加上女孩子的优势说不定有机会进去做做别的工具)编程|工具  C#是地道的面向工具编程言语,它真正表现了“统统皆为工具”的精力。在C#中,即便是最基础的数据范例,如int,double,bool范例,都属于System.Object范例。别的,利用C#编程,不会存在与游离于工具以外的属于历程的器材。因而,进修C#,就必需具有面向工具头脑,不分明所谓的“面向工具头脑”,就不成能把握C#的精华,而关于C#的了解,就只能仅限于言语特征的外表了。

  良多解说面向工具头脑的书本和文章喜好将面向工具与面向历程比拟较,但是关于进修程序计划的初学者而言,是完整没有需要的。一张空缺的纸张,现实上比写满字的纸张更利于将来的开展。

  那末甚么是“面向工具头脑”?其精要固然是“统统皆为工具”的意义。软件的开辟与计划,是环绕着开辟的方针举行的。好比开辟一个电子商务网站,那末与电子商务有关的都是我们要操纵和体贴的,商品、定单、用户、目次、购物车等等,都是工具。假如要开辟一个论坛,那末论坛中必备的要素,如论坛分类、主题、帖子、批评、用户,也全都是工具。从小处说,我们请求写一个算法用以盘算阶乘,那末肇端值、运算了局、和全部算法都是工具。

  那末工具具有甚么特质?一样平常而言,一个工具应具有属性和举动。以实际天下为例,“人”作为一种特别的植物,也是我们所称呼的“工具”。这个工具具有良多属性,比方姓名,身高、体重、平易近族、国籍、出身年代等等。而举动呢,能够是行走、用饭、跑步、以致于玩游戏、踢足球。假如从词义学的角度来看,属性更倾向于名词的范围,而举动则近乎于动词。但是工具也有特别的情形,大概只具有属性,大概只具有举动。比方身份证,大概只具有姓名,出身年代,籍贯,身份证号等属性,而没有举动。比方“飞”,这自己是一种举措,但一样能够以为是一种举动。

  但是这类分别并不是相对,依据实践情形,统一种工具具有的属性和举动大概纷歧样。比方一样是“人”,假如是要开辟一个户籍办理体系,我们就不用往思索行走、用饭、跑步等举动,但假如是一个足球游戏,那末工具“人”,就必要各类踢足球的举措作为该工具的举动了。再好比“身份证”工具,也大概为了利用便利,会为它增加“IsValidate”如许一个举动。

  还要注重的是,良多时分属性实在自己也是一个工具,比方姓名,能够是string范例,它属于Sytem.Object工具范例,我们也能够独自为姓名创建一个类工具:

publicclassName
{
publicstringFirstName;
publicstringMiddleName;
publicstringLastName;
}

  在C#里,有林林总总的工具范例,除自己供应的基础范例外,还撑持自界说各类范例,包含class,struct,enum,interface,delegate,event。之前面的例子来看,工具Person“人”,就能够被界说为class范例,国籍能够被界说为enum范例。没有举动的身份证,也能够被界说为struct范例。举措“飞”能够被界说为interface范例。至于delegate和event,则是一种特别工具范例,比方我们能够为论坛办理体系,界说一系列事务,如BeforePost,AfterPost等等。关于这些内容,我会在前面的内容中具体解说。

  要把握面向工具头脑,就必需具有辨认体系中工具的才能。在我们要开辟的体系中,哪些必要界说为独自的工具,并且这个工具应当具有哪些属性和举动,都是初学者对照头疼的成绩。要准确地辨认工具,就必要起首剖析该体系所应完成的功效。比方,我们请求开辟一个电子商务体系,功效请求以下:

  1、撑持商品的查询功效;

  2、用户如需购置商品,必要成为注册用户并登录;

  3、假如以后库存无该商品,用户能够预订;

  4、用户能够将商品放进购物车;

  5、用户购置商品之前,需提交定单;

  6、用户提交定单后,体系应将订购信息发送邮件给用户;

  7、用户能够对商品增加批评。

  有一个复杂的办法,能够匡助我们辨认工具,就是找出这些功效形貌中的关头名词,如商品、用户、购物车、定单、批评。这些词语基础上能够涵盖这个电子商务体系的次要工具了。至于工具的属性,能够考查该体系对这个工具的请求和所必要的信息。比方商品,一定请求有商品名、代价、相干图片、所属种别、库存量等等。至于举动,我们还能够从功效形貌中往寻觅与这些工具名词相干联的动词。比方商品的查询,就代表商品具有Search举动。用户注册与登录,就代表该用户具有这两种举动:Register,SignIn。固然隐含的举动天然还包含SignOut。

  真正要辨认好工具,大概我们必要把握UML的常识,晓得怎样写用例。大概使用极限编程的办法,把一个个用户故事写出来,然后逐一辨认。不外这些常识关于初学者仿佛太难了。我们如今晓得能有如许一个办法就能够了。我更但愿的是,读者在看完本节,可以创建起“统统皆为工具”的头脑。最初,更但愿人人能把辨认工具看做是一种填字游戏,关头不在于谜底是甚么,兴趣全在游戏中了。

  面向工具头脑胸无点墨,不是一言半语就可以说分明的。但创建如许一种头脑,要存乎于你的心坎,这在与一种“妙悟”。大概在你写了几百个小程序以后还没能体味到面向工具的真理,可是在霎那之间,你却俄然分明了,顿有一种扒开云开见月明的高兴。我不是存心矫饰玄虚,偶然候开辟软件还真必要那末一点灵感,有人说,编程是一门艺术,我批准。那末这类“妙悟”甚么时分能离开,我没法确知谜底,这必要你的体悟。不外这类体悟与谈禅有关,不是天天冥想就能够的,仍是扎实点,多写写程序,渐渐你就会分明了。完全不一样的。.net其实我也说不太清,.net可以把他理解为跟J2EE相对的工具。c++主要做系统相关的开发你要学.net的话就应该学C#。(其实微软在.NET平台上也考虑了给C++留一个地位。

兰色精灵 发表于 2015-1-19 21:41:02

平台无关性是PHP的最大优点,但是在优点的背后,还是有一些小小的缺点的。如果在PHP中不使用ODBC,而用其自带的数据库函数(这样的效率要比使用ODBC高)来连接数据库的话,使用不同的数据库,PHP的函数名不能统一。这样,使得程序的移植变得有些麻烦。不过,作为目前应用最为广泛的一种后台语言,PHP的优点还是异常明显的。

爱飞 发表于 2015-1-25 10:44:12

在一个项目中谁敢保证每天几千万甚至几亿条的数据不丢失?谁敢保证应用的高可靠性?有可以借签的项目吗?

愤怒的大鸟 发表于 2015-2-2 21:42:50

但是java靠开源打出的一片天地,特别是在微软的垄断下能打开今天的局面还是有它的生命力的。

透明 发表于 2015-2-24 23:22:50

ASP.Net和ASP的最大区别在于编程思维的转换,而不仅仅在于功能的增强。ASP使用VBS/JS这样的脚本语言混合html来编程,而那些脚本语言属于弱类型、面向结构的编程语言,而非面向对象。

第二个灵魂 发表于 2015-3-7 13:54:29

逐步缩小出错代码段的范围,最终确定错误代码的位置。

再见西城 发表于 2015-3-15 07:29:14

平台无关性是PHP的最大优点,但是在优点的背后,还是有一些小小的缺点的。如果在PHP中不使用ODBC,而用其自带的数据库函数(这样的效率要比使用ODBC高)来连接数据库的话,使用不同的数据库,PHP的函数名不能统一。这样,使得程序的移植变得有些麻烦。不过,作为目前应用最为广泛的一种后台语言,PHP的优点还是异常明显的。

若天明 发表于 2015-3-21 20:48:39

它可通过内置的组件实现更强大的功能,如使用A-DO可以轻松地访问数据库。
页: [1]
查看完整版本: ASP.NET网页编程之叩开C#之门系列之C#与面向工具编程言语...