12 2013 档案

摘要:在jquery里有两个方法可以用来绑定自动追加出来的DOM对象,它们是live和delegate,事实上,这两个方法是bind方法的一个变体,在对于固定DOM对象时,我们通常使用bind就可以了,而对象动态产生的DOM对象,使用bind就无能为力了,这时live和delegate就出场了,呵呵。live方法,用来绑定某个(某类)对象,为它们绑定方法 //live $("td").live("click", function () { alert($(this).html()); }); ... 阅读全文
posted @ 2013-12-21 09:56 张占岭 阅读(3317) 评论(1) 推荐(0)
摘要:回到目录图在前目前项目中可能出现的三种Model模式,对于我们现在开发的一个项目,我觉得使用DDD的思想来设计模型比较清晰,使用DDD的思想把模型model分成了如下三种:下面是我微博中的截图:上面的图中把模型分成了ViewModel,它与页面相关,DomainModel,它与业务模块相关,Model,它与数据库相关,它是对数据表的一种映射,一般用XML来表示。文字说明在后下面我们来举个例子,用认识一下这三个模型:下面以用户业务为例,来讲一个这三种模型UserDomainModelpublic class UserDomainModel { [Required] ... 阅读全文
posted @ 2013-12-19 16:11 张占岭 阅读(6081) 评论(4) 推荐(1)
摘要:回到目录说在前我都是喜欢把问题复杂化,还有总是喜欢把问题简单化,偷懒化,这也需就是一个程序员的追求吧,呵呵。我不太喜欢重复的东西,当你看到页面上有一个以上相同的代码时,那可以说,你的代码有重构的余地,应该考虑重构了,今天看了以前同事的博客,写了关于DropDownList的用法,如何将集合数据绑定到下拉列表框上,讲的不错,但最后在说checkbox和radiobutton时,我感觉有点重复了,我说的是代码重复了,还有就是代码复杂化了,就是说,我再使用集合来产生checkbox和radiobutton时,代码有些复杂了,这不是我们希望看到的,所以,我觉得有必要把它重构一下,为mvc加两个扩展方法 阅读全文
posted @ 2013-12-17 22:33 张占岭 阅读(4955) 评论(2) 推荐(2)
摘要:返回目录说在前这个抽象类在我之前的文章中也有介绍过,而在“不忘本”系列中的抽象类,将会主要介绍它的概念及与接口的区别。概念:抽象类不同的普通类,它有自己的标示符abstract,在抽象类里将可以出现抽象方法,它本身只能充当父类的角色,所以,它在真实的生产过程中,都是通过子类去实现的,即抽象类不能被实例化。前面说的父类有时我们经常叫它基类,比如你的WEB层的controller可能需要一个基类,用来存储公用的属性和方法,这时,抽象类是最好的选择,在frameworks里有很多这样的例子,如System.Web.Mvc.Controller这就是一个抽象类,它由一组与控制器相关的方法及属性组件。在 阅读全文
posted @ 2013-12-17 17:05 张占岭 阅读(979) 评论(1) 推荐(0)
摘要:回到目录开发它的原因:之前的同事,也是我的哥们,问我下拉列表框是否可以支持验证,这个问题看似简单,但确实MVC里有为我们提供,所以,只能自己写个扩展了,即自己写一个attribute特性,让它继承ValidationAttribute,使它可以与其它MVC提供的验证一起使用.MVC验证是怎么运行的:在MVC的特性验证,很方便,很直接,它无论是在数据安全性上还是在页面表现上都做的不错,它的运行机制是这样的,前台表单验证规则有个名称,然后前台JS有对这个规则编写的代码,用来控制前台HTML标记的显示,而后台主要是生成验证规则和向前台参数赋值的。事实上,我们要知道的是,MVC验证不是简单的后台验证, 阅读全文
posted @ 2013-12-16 17:18 张占岭 阅读(1852) 评论(4) 推荐(0)
摘要:回到目录谈谈它终于有些眉目了,搜刮了很多牛人的资料,英文的,中文的,民国文的,终于小有成就了,同时也做了个DEMO,领域事件这东西好,但需要你明白它之后才会说好,而对于明白领域事件这件事来说,它的门槛有点高,居然花了我三天的时间才把它搞定,嗨!占占给它的定义领域事件:Domain Event,是针对某个业务来说的,或者说针对某个聚合的业务来说的,例如订单生成这种业务,它可以同时对应一种事件,比如叫做OrderGeneratorEvent,而你的零散业务可能随时会变,加一些业务,减一些业务,而对于订单生成这个事件来说,它是唯一不变的,而我们需要把这些由产生订单而发生变化的事情拿出来,而拿出来的这 阅读全文
posted @ 2013-12-16 14:21 张占岭 阅读(16307) 评论(10) 推荐(10)
摘要:回到目录规 约(Specification)模式:第一次看到这东西是在microsoft NLayer项目中,它是微软对DDD的解说,就像petshop告诉了我们MVC如何使用一样,这个规约模式最重要的作用是实现了查询语句与查询条件的 分离,查询语句在底层是稳定的,不变的,而查询条件是和具体业务,具体领域有关的,是易变的,如果我们为每一个领域的每一个新需求都写一个新的方法,那就 会出现很多重复的代码,不利于程序的最终扩展!下面我们来看一个经典例子一个IOrderRepository的接口,定义了一个订单仓储 Order_Info GetOrder_InfoById(int ord... 阅读全文
posted @ 2013-12-13 11:58 张占岭 阅读(3337) 评论(2) 推荐(0)
摘要:回到占占推荐博客索引DDD之前没有接触过,但一但有了接触就一发不可收拾,他会带去进入一个全新的世界!DDD不是新技术,而是新思想,新模式,是软件开发领域的一次突破,它更接近于业务,对于业务的改动它更加运用自如,它DDD模式里,你可能会涉及到IoC,AOP,OOP,OOD等设计模块,也可能会涉及到mv... 阅读全文
posted @ 2013-12-13 11:56 张占岭 阅读(8770) 评论(6) 推荐(10)
摘要:回到目录 说在前 Ioc组件有很多,之前也介绍过autofac,castle等,今天再来说一下在微软Nlayer DDD架构里使用的unity组件,今天主要说一下依靠注入,如果希望看拦截的用法,可以阅读这篇文章第十三回 实现AOP的拦截组件Unity.Interception 做在后 unity的用 阅读全文
posted @ 2013-12-12 10:46 张占岭 阅读(2997) 评论(2) 推荐(2)
摘要:回到目录说在前本节主要说一下Unity家族里的拦截组件,对于方法拦截有很多组件提供,基本上每个Ioc组件都有对它的实现,如autofac,它主要用在orchard项目里,而castle也有以拦截的体现,相关可以看我的Castle~实现IoC容器这篇文章,而今天主要说一个Unity里的方法拦截的实现,事实上本篇文章是对第二回 缓存拦截器的一个扩展和补充,对于unity这东西在微软的Nlayer项目里有所体现,它是基于DDD构架的,无论在架构选型还是技术选型上都很超前,也都结合了很大微软高手的心血,可读性很高,呵呵.做在后通过IoC建立对象实例的方法时,它们的配置信息一般有两种方式存储,第一可以通 阅读全文
posted @ 2013-12-09 16:17 张占岭 阅读(3400) 评论(1) 推荐(0)
摘要:回到目录上一回写消息组件已经是很久之前的事了,这一次准备把消息组件后续的东西说一下,事实上,第一篇文章主要讲的是发消息,而这一讲最要讲的是收消息,简单的说,就是消息到了服务器之后,如何从服务器实时的发到指定客户端,当然,你可以使用JS的轮询,但由于种种原因,它并不被我推荐,呵呵.准备知识:Signa... 阅读全文
posted @ 2013-12-05 16:10 张占岭 阅读(1471) 评论(1) 推荐(1)
摘要:回到目录看似不伦不类这个题目有点不伦不类,或者说有点伪模式了,不错,确实是这样,我们正确的开发思维是WEB层->BLL层->DATA层,每个层有对它下层的引用,下层不能引用上层,因为这会出现相互引用的错误,在实际工作中,BLL层会有涉及到各个业务的代码组织,实现数据持久化一般在Data层完成,这是可以理解的,也是我们经常使用的开发模式,这当然不是今天的重点,今天主要说一个实际问题,如订单处理的场合.一般订单处理流程如下:1 用户选择商品到购物车2 用户确定购买,生成订单3 选择一种或者几种支付方式4 支付完成,回写订单,修改订单状态5 支付交易成功,或者失败OK,这种订单业务事实上 阅读全文
posted @ 2013-12-05 10:40 张占岭 阅读(1509) 评论(1) 推荐(1)
摘要:回到目录Entityframeworks很聪明不错,非常不错!ef里的contains比linq to sql里的contains有了明显的提升,事实上,是在进行SQL语句翻译上有所提升,在linq to sql里不支持iqueryable的contains集合,它只支持本地集合进行contains,而本地集合的contains会被.net翻译成sql语句是where in (...),即集合有多个元素,在in里就会被列举多少次,这个在性能上是非常低下的,不提倡的,而且它还有长度限制,最多本地集合在linq to sql里是2000多个元素。ef在这点上表示不错,它为了防止你使用低下的查询,它 阅读全文
posted @ 2013-12-04 13:50 张占岭 阅读(7425) 评论(4) 推荐(3)
摘要:无意中看到anytao的项目,工作台,使用了Angularjs框架,感觉在前端表现上用户体验比较好,于是就简单看了一下,原来使用很简单,或者说,人家把代码封装的很好,以至于开发人员调用时比较简单,呵呵,使用Angularjs必须将你的html标记进行标识一下,告诉人家,我要用Angularjs来渲染页面了,事实上,Angularjs带合我们最重要的不是页面表现上,而是数据绑定上,它使HTML标记不那么死板,下面看一个DEMO就会明白了。下面是一个页面元素绑定的例子 Enter name: Hello ! //对应的JS代码如下: funct... 阅读全文
posted @ 2013-12-04 10:12 张占岭 阅读(8864) 评论(0) 推荐(2)
摘要:回到目录对于transactionscope不了解的同学,可以看我的相关文章第二十六回 将不确定变为确定~transactionscope何时提升为分布式事务?第二十七回 将不确定变为确定~transactionscope何时提升为分布式事务~续第二十八回 将不确定变为确定~transactionscope何时提升为分布式事务~再续(避免引起不必要的MSDTC)第二十九回 将不确定变为确定~transactionscope何时提升为分布式事务~大结局第三十七回 将不确定变为确定~transactionscope何时提升为分布式事务~SQL2005与SQL2008不同声明:对于这种事务,如果.. 阅读全文
posted @ 2013-12-03 11:17 张占岭 阅读(1740) 评论(0) 推荐(4)