蛙蛙推荐:给大家介绍两本书《.NET企业应用高级编程》和《ASP.NET电子商务高级编程》

给大家介绍两本书《.NET企业应用高级编程》和《ASP.NET电子商务高级编程》
《.net企业应用高级编程》内容确实太精彩了,讲到了用.NET设计企业应用程序的方方面面,今天上午看了一章的内容,讲的是设计了一个桌面的应用程序浏览器,它可以自动加载远程的程序集,并在本地呈现UI,思路非常的好,而且在WINFORM界面设计上考虑也非常人性化,比较符合微软推荐的标准,比如说在菜单设计,状态栏设计,MDI窗口间变量传递等都很有指导性。设计思路也非常巧妙,没有讲过深的模式等思想,但是却非常使用,先用接口定义了一些将要使用的功能,然后在应用程序浏览器和子应用程序里实现接口,并且两者之间的交互设计的也非常好,都是通过接口引用,然后调用接口的方法来完成的,在事件处理上也很巧妙,子应用程序的菜单被合并到应用程序浏览器的菜单上,而且动态创建的菜单的onclick事件可以直接挂钩到应用程序浏览器的方法上处理,总之看了这一章,接触到好多以前没有接触过的winfrom设计技巧,确实感觉到了c#面向对象的威力,我还想着把它里面的回调技巧,接口引用技巧等用JS模拟实现一下呢,确实很有价值,回头得再多看看它的设计思路。它给出不仅是一些单个技术的堆叠,而是给出设计一个界面友好功能强大且健壮的应用程序的一个思路。虽然我才看了三章,但早已被其中的内容深深吸引住了,这本书的价值不在于给出了一个可用的程序的源代码,更是一本指导你做出一个企业应用的好书,涉及内容也很广,第三章讲到的这个应用程序浏览器其实就是后来推出的智能客户端技术,还有windows服务,web服务,.net remoting,移用应用,自动处理,分布式事务,异步调用,web服务高级应用,异常处理,监控跟踪,代码访问安全,自动部署,数据库并发处理,winfrom桌面应用,创建高效的管理界面,调试技巧,业务实体在各层之间传递,数据完整性检查等。大概看了一遍,的确和过去的windows DNA架构有了很大的改变。虽然这本书出版的时候.net框架还是1.0版本,而且到现在好多技术都有了新的发展,smart client,还有下一带操作系统longhore(已经改名成什么vista啥了)的一些核心技术,XAML,intego(我可记不住那么多英文单词,据说是把web serivices,msmq,.net remoting,dcom的优点都继承了,既可以以远程文档的方式调用,也可以以RPC远程方法调用的方式进行,还支持异步调用,自动化事务,排队组件,重试队列等这些COM+服务的功能,具体没多了解)什么的,但是在学习这些新技术之前我感觉应该把这本书里的内容当做基础。还有就是这本书里介绍了一个WEO(wrox entis(记不住单词了,就是企业的意思)object)对象,还有一个object builder的工具,功能非常的强大,有点类似 听堂.net的那个SPL,不过人家这个提供了数据访问组件的多样性,你想返回一组业务实体的话,返回的其实是强类型的dataset,如果你返回一个业务实体的话,返回的是一个继承自DataRow的东西,当然当时还没有typed DataSet的概念,人家书里也没有把那些技术用一些玄乎的名词包装来吓唬读者。那个基础架构比较复杂,一时我也没有看懂呢还,在执行业务实体相关的操作的时候,可以用web服务传递,可以用remoting,可以直接在代码间返回,这些都在架构里提供了内置的支持,在操作数据库方面也是自动化的,人家并没有多解释什么底层架构啦,ORM啦,异构数据合并等东西,一切来的很实用,很平实,这也是我喜欢这本书的原因,应该比那些讲架构,讲模式的书实用实际一些吧。书里面说,那套架构和那套工具可以完成数据应用开发的80%的工作,呵呵,但是我看了一些例子,都是针对sqlserver数据库的,其实无所谓了,你可以尽量用一些ansi sql来执行语句,别用一些t-sql专用的函数,(其实weo生成的sql语句和存储过程都不是很复杂的),其实那个什么object builder工具也无非是连接到数据库,查找系统表里找到用户表的架构信息,然后拼接出一些常用的inser,update,select,delete等语句,并且生成业务实体类及相关的类,大多数代码生成器都是这个原理,这已经不再神秘,你可以重构这个工具,让它更灵活,让它支持access,oracle甚至一些开源数据库,非关系型数据等。然后运行过程中通过配置,接口,存储过程工厂,参数缓存,工厂模式等来实现多种数据库的操作,人们不是正在寻找一种忽略底层数据库直接对对象操作的方法吗?但是其中用到技术很多,所要考虑的东西也很多,这令我十分退缩,如果你的应用基本上都是以sqlserver为基础的,那么这本书对你来说可能更有意义。因为这本书我才看了三章,所以更多的细节的地方和更多有价值的东西还无法给大家做个介绍。
上面介绍的那本书重点介绍的桌面应用,因为现在种种迹象表明胖客户端应用正在回归,而下面介绍的一本书重点介绍的是webfrom的应用。《asp.net电子商务高级编程》是凯文.霍夫曼(英文名记不住)写的一本关于怎么利用.NET创建一个功能强大,考虑周全的电子商务站点的书(其实我也不愿意写一些长的句子来让人饶舌,但是我发现好多国外的书翻译成中文后长句子多的不行,有时候我就分不清主语谓语宾语,经常为了理解一个长句子而费半天劲,不知道是翻译的人翻译的太生硬还是人家作者就是写了个那么长的句子,总之我买的wrox的五六本《XXX高级应用》的书里好多地方真是令人费解,人家把dataReader翻译成数据阅读器,我晕,我想了半天才想起来是DataReader,不好意思,想到哪儿说到哪儿哦,这不是随笔吗,又不是官方文档,正式发表的文章。)这本书呢,底层架构呢集成了监测跟踪,错误处理,项目配置和数据访问,身份验证的基本功能,它的数据访问组件是用CMP(不是托管组件持久性是托管容器持久性哦,现在不是好多大的中间件应用都提什么什么容器吗,到现在偶也不指导啥是容器,业务偶被迷惑了,容器里好像什么都能放,一个大粒度的业务组件也能放到里面,我就不信了,关于一个行业的业务应用你也想放到容器里达到重用?不过这里所说的容器很小,就放了一些标准的CRUD操作,你可以为每个业务对象创建一个容器,然后调用容器的CRUD操作来完成业务对象的实际操作,比如说保存一个订单啦,修改一个员工信息啦什么)模式来实现的,这个CMP模式确实很新颖,从去年到现在我就一直在网上找对这本书里的CMP模式关注的人或者文章,但却没有找到志同道合的人,一般都是有些人来打问这个东西是怎么实现的,它到底有没有用,包括在wrox的P2P论坛里。的确,很少人关心一个在EJB里用的东西,也许人们不相信CMP还有有很大的发展,因为EJB现在也不怎么火了,人们也许更倾向于自己写一个ORM框架,或者用一些开源的HIBERNAME啥的,当然了,相信自己的框架是最好的是个不错的表现,但是大家都在做重复劳动开发自己认为好的框架的话,那多浪费人力物力呀,反正我决定了,以后开发小软件就用它里面这个CMP模式来做。底层架构的其他几个方面倒是没什么可关注的地方,当然我说的是高手,新手的话还是有一些意义的,因为现在微软出了5个应用程序模块,把软件开发中的一些常见任务都封装好了,给人们提供一些模式的最佳实践和设计指导,而这些大多都底层架构要提供的服务。这本书里面还介绍了如何建立其高效灵活且有扩展性的产品目录,产品目录里的数据库设计很鬼魅,因为各种产品的属性是不一样的,也就是说数据库的字段有不确定性,他是用一种数据库模板来实现的,很巧妙,一两句话阐述不明白,想了解的话最好买书看看,也不是很贵,上次博客园不是有人提出了一些关于不定字段的数据表设计方案吗,比如说动态创建表,设置预留字段,用XML字符串保存到数据库啦之类的方案,的确,也能用。在产品查询方面呢,这本书也给出了一些不同的见解,大多数人设计的数据库查询都是通过SQL语句来完成的,他呢,他是通过SQL语句和dataser的select功能来完成的,现在数据库里对要检索的数据进行过滤,比如说用like字句等,然后返回到dataset里,再用datatable.select(表达式)来完成进一步的制定,表达式其实就是sql语句的where字句,这样可以完成著名的“在结果中查询”的功能,而且减少了网络流量,对吧,它还介绍了如何解决like '%%'的情况,因为如果关键字没写的话就返回所有的产品,这种问题常出现在有or逻辑运算的查询方案中,具体还是看书吧。购物车是用纯面向对象来做的,和ASP里用平面数组和cookies开发购物车有很大的不同,有些类似petshop的购物车,学到这里我有复习了一些OO的知识,书里画了类图的,便于理解。订单处理方面是通过异步方式进行的,虽然.NET的异步处理功能已经很强大,但是MSMQ还是有它的用武之地,书里的例子是在没有建立活动目录的情况下用私有队列演示的,没有讲的很细,比如说串行化订单,重试队列等都没有重点讲解,因为那些东西超出了那本书的范围,但是只要把订单保存到队列里,一些大型机就可以有机会读取队列里的数据,完成仓库管理,配货等功能。接下来好像介绍的是【期望列表】和【社区】的功能,这两个都是典型的数据库应用,没啥特别的,主要是体现了一些设计思路,比如说什么样的人可以用期望列表(其实就是收藏夹),社区应该围绕什么主题来进行才不至于成为水区而应该为产品销售服务,这些都应该属于系统分析的范围,但是书里也介绍了,要不我就说实用呀。再下去介绍的是【联盟结构和广告】这里主要是通过联盟机构交换连接等来跟踪到底有多少客户是从你的联盟机构指导你的网站并买你的产品的,这里是用WEB服务来做的,它可以查看你做的推广和广告有没有起作用,起了多大作用,这也是很常见的销售活动,网上不是有好多交换连接和提供调幅广告的服务吗?哦,对了,忘了介绍【折扣和优惠卷】了,那一章介绍的内容其实比较复杂,设计到好多关于数学运算和实际如何获得利润的东西,业务有些人对网络商务还不太了解,对折扣和优惠卷还区分不开,它里面都有介绍,这章是一个高级的内容,因为设计到实实在在的商务活动,以及揉入你公司的一些决策,你还得保证进行了折价销售和优惠卷等促销活动后不能赔钱。最后介绍的是应用程序的管理,因为添加产品,修改折扣等不能让程序员来添加或者让数据库管理员操作数据库吧。那章详细分析了一些管理方面的东西,以及身份验证,授权等方面的内容,但是里面对权限的设计讲的不是很多,并没有给出一个功能强大,支持权限计算,权限合并,自定义授权等功能的代码。

先介绍到这里吧,我想在我的博客上为这两本书开辟两个板块,以后陆续把一些读书笔记和问题贴上来和大家讨论。其实技术是永远学不完的,就像钱是永远赚不完的一样,不用煞费苦心的天天学习新的技术,应该把精力放在对业务分析方面,多看几个实际可运行并被客户接受的系统,人家是怎么做的,在界面上,感观上如何做到大气大方,实用美观,在功能上如何考虑周全的,这才是最重要的。关于我这个观点可以看我另一篇随笔
http://onlytiancai.cnblogs.com/archive/2005/08/06/209099.html
.net出来了学.NET,java出来了学JAVA,又听说python之类的动态语言也很好,心又痒了,呵呵。醒悟吧,那些泡在代码里不能自拔的人们(个别人哦,像我)。

分类: 每日随笔
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值