上一页 1 ··· 299 300 301 302 303 304 305 306 307 ··· 360 下一页
摘要: 从本文标题中可以看出,主要说的是反射技术和控制反转(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 张占岭 阅读(3262) 评论(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 张占岭 阅读(2582) 评论(8) 推荐(3) 编辑
摘要: 在第三讲中我们主要关注了代码重构的思想,从方法重构到类重构再到项目重构,这是一个过程,一种思想上的升华,今天将继续我们“程序复用性设计”的旅程,说一下方法重载的重要性。细心的朋友一定会非常关注net frameworks的源代码,即使只能看到它内部方法的定义,也足够了,在System.Web.Mvc这个命名空间下定义了很多关于MVC架构的东西,我们就以它为例来说一下方法重载吧!重载的好处:1 对方法调用的程序员来说,它是友好的(程序员只关心自己调用的方法签名即可,不用管参数为NULL怎么办这些逻辑)2 对于代码维护量来说,它是容易的(核心代码只放在参数签名最多的方法中)3 对于代码扩展来说,它 阅读全文
posted @ 2012-05-31 10:41 张占岭 阅读(2507) 评论(14) 推荐(4) 编辑
摘要: 在写完架构,改善程序复用性的设计~第三讲 实现一种功能的代码只能出现在一处 , 这篇文章后,得到了园友的反馈,说这种简单的业务逻辑还可以,但业务比较复杂时,根据就没法用这种方法。针对这个问题,我觉得有必要再写一个续集了,呵呵!上回说的主要核心内容是将公用的部分从一个方法中提取出来,生成一个新的方法,这个重构中叫做“提取到方法”,另外一个核心内容就是方法的”单一职责“,即一个方法干一件事,将出现复杂事件时,将多个方法进行组合调用即可这回主要说一个重构中的提取,其实不仅方法可以被提取,类,及整个项目也可以被提取,只要他们有被提取的必要!一个例子:对于一个数据实体操作的基类,它包括了其它所有实体类共 阅读全文
posted @ 2012-05-29 23:24 张占岭 阅读(2412) 评论(5) 推荐(4) 编辑
摘要: 从标题中可以看到本篇文章将介绍代码随意性的缺点及由此引发的后果,首先,来说一下同一功能的代码在多个程序中被编写多次的后果:1 它破坏了面向对象的“单一职责”的原则2 当代码逻辑复杂时,或者进行二次开发时,程序员将对方法调用产生歧义,即不知道应该使用哪个方法,即代码可读性差3 当这个不规范的方法逻辑需要修改时,你将会进行多次重复的调整,这是一个程序不希望做的事解决方法:当几个模块需要用到同一功能,或者功能相似的方法时,应该先将公用的功能抽象成一个新的方法,再把不同的地方抽象成其它方法,这也就是《重构》中的extract method 。下面看一下代码:不规范的:View Code 1 p... 阅读全文
posted @ 2012-05-28 23:34 张占岭 阅读(3026) 评论(9) 推荐(4) 编辑
上一页 1 ··· 299 300 301 302 303 304 305 306 307 ··· 360 下一页