上一页 1 ··· 319 320 321 322 323 324 325 326 327 ··· 381 下一页
摘要: N层架构及各层之间的通讯标准一 总体结构图二 各个模块的介绍通用项目模块Project.Common:它是对所有项目都公开的项目组合,主要提供一个与领域无关的通用功能的代码库核心项目模块Project.Core:它是针对某种构架方式(如LINQ To SQL作为底层架构)抽象出来的项目组合,它与领域无关领域项目模块,它是具体的项目,如XXB项目,它本身也是一个N层架构方式,一般地,它的UI层会继承我们的Product.Core下的Web.Commons项目,而对应的Entity对应Entity.Commons项目,由于BLL层是针对某种特殊业务领域的,所以在Project.Core里没有出现B 阅读全文
posted @ 2012-06-04 14:00 张占岭 阅读(3002) 评论(3) 推荐(4)
摘要: 要研究的问题:IOC是什么?它解决了什么?我们的项目中为何要用IOC?反射对性能真的影响很大吗?不用反射,谁意见最大?来吧,开始说问题1,IOC是什么?不用说什么容器,框架,大白话其实IOC就是将一些接口与它的各种实现的类名配置在一个文件中,可以是XML,也可以是.config配置文件中,然后在程序“运行时”去根据配置的信息去动态得到(resolved)这个对象,然后程序中就可以使用这个对象了,所IOC就是用来建立对象的。2,它解决了什么?一个接口,有三种实现,如sql实现,oracle实现,access实现等,那当前环境下用哪种方式来进行实现呢,这时可以由IOC来实现它。 1 // 统一规范 阅读全文
posted @ 2012-06-03 23:31 张占岭 阅读(3490) 评论(14) 推荐(3)
摘要: 从本文标题中可以看出,主要说的是反射技术和控制反转(IOC)技术,本文主要先介绍一下我对这两种技术的理解及它们的优缺点,最后再用实例来说一下使用方法。反射:可以使用反射动态创建类型的实例,将类型绑定到现有对象,或从现有对象获取类型并调用其方法或访问其字段和属性。这里,它最重要的是“动态性”,即根据条件动态创建“指定类型”的“实例”。1 // Using GetType to obtain type information:2 int i = 42;3 System.Type type = i.GetType();4 System.Console.WriteLine(type);结果是:Syst 阅读全文
posted @ 2012-06-03 13:43 张占岭 阅读(3283) 评论(7) 推荐(5)
摘要: 一 如何让实体发生更新时,同时记录它更新的内容到日志表在日常生活中,有个订阅的事,如,订个报纸,当出版社出版后,报纸就会送到您家,你不用管它什么时候出版。在OA系统或者后台管理系统中,修改一条记录,总是想把它记住,等数据出问题后,好有据可查。如何去实现这样的效果呢,难道为每一个方法都写一个insertLog(log)方法吗?这也太不面向对象了吧,呵呵,做为一个懒型程序员,不会这样做的,呵呵。像这样:1 Log log=new Log{...};2 product.Update(entity);3 logRepository.insertLog(log);4 5 Log log=new Log{ 阅读全文
posted @ 2012-06-01 17:19 张占岭 阅读(2602) 评论(8) 推荐(3)
摘要: 在第三讲中我们主要关注了代码重构的思想,从方法重构到类重构再到项目重构,这是一个过程,一种思想上的升华,今天将继续我们“程序复用性设计”的旅程,说一下方法重载的重要性。细心的朋友一定会非常关注net frameworks的源代码,即使只能看到它内部方法的定义,也足够了,在System.Web.Mvc这个命名空间下定义了很多关于MVC架构的东西,我们就以它为例来说一下方法重载吧!重载的好处:1 对方法调用的程序员来说,它是友好的(程序员只关心自己调用的方法签名即可,不用管参数为NULL怎么办这些逻辑)2 对于代码维护量来说,它是容易的(核心代码只放在参数签名最多的方法中)3 对于代码扩展来说,它 阅读全文
posted @ 2012-05-31 10:41 张占岭 阅读(2525) 评论(14) 推荐(4)
上一页 1 ··· 319 320 321 322 323 324 325 326 327 ··· 381 下一页