上一页 1 ··· 295 296 297 298 299 300 301 302 303 ··· 356 下一页
摘要: 一 如何让实体发生更新时,同时记录它更新的内容到日志表在日常生活中,有个订阅的事,如,订个报纸,当出版社出版后,报纸就会送到您家,你不用管它什么时候出版。在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 张占岭 阅读(2579) 评论(8) 推荐(3) 编辑
摘要: 在第三讲中我们主要关注了代码重构的思想,从方法重构到类重构再到项目重构,这是一个过程,一种思想上的升华,今天将继续我们“程序复用性设计”的旅程,说一下方法重载的重要性。细心的朋友一定会非常关注net frameworks的源代码,即使只能看到它内部方法的定义,也足够了,在System.Web.Mvc这个命名空间下定义了很多关于MVC架构的东西,我们就以它为例来说一下方法重载吧!重载的好处:1 对方法调用的程序员来说,它是友好的(程序员只关心自己调用的方法签名即可,不用管参数为NULL怎么办这些逻辑)2 对于代码维护量来说,它是容易的(核心代码只放在参数签名最多的方法中)3 对于代码扩展来说,它 阅读全文
posted @ 2012-05-31 10:41 张占岭 阅读(2502) 评论(14) 推荐(4) 编辑
摘要: 在写完架构,改善程序复用性的设计~第三讲 实现一种功能的代码只能出现在一处 , 这篇文章后,得到了园友的反馈,说这种简单的业务逻辑还可以,但业务比较复杂时,根据就没法用这种方法。针对这个问题,我觉得有必要再写一个续集了,呵呵!上回说的主要核心内容是将公用的部分从一个方法中提取出来,生成一个新的方法,这个重构中叫做“提取到方法”,另外一个核心内容就是方法的”单一职责“,即一个方法干一件事,将出现复杂事件时,将多个方法进行组合调用即可这回主要说一个重构中的提取,其实不仅方法可以被提取,类,及整个项目也可以被提取,只要他们有被提取的必要!一个例子:对于一个数据实体操作的基类,它包括了其它所有实体类共 阅读全文
posted @ 2012-05-29 23:24 张占岭 阅读(2410) 评论(5) 推荐(4) 编辑
摘要: 从标题中可以看到本篇文章将介绍代码随意性的缺点及由此引发的后果,首先,来说一下同一功能的代码在多个程序中被编写多次的后果:1 它破坏了面向对象的“单一职责”的原则2 当代码逻辑复杂时,或者进行二次开发时,程序员将对方法调用产生歧义,即不知道应该使用哪个方法,即代码可读性差3 当这个不规范的方法逻辑需要修改时,你将会进行多次重复的调整,这是一个程序不希望做的事解决方法:当几个模块需要用到同一功能,或者功能相似的方法时,应该先将公用的功能抽象成一个新的方法,再把不同的地方抽象成其它方法,这也就是《重构》中的extract method 。下面看一下代码:不规范的:View Code 1 p... 阅读全文
posted @ 2012-05-28 23:34 张占岭 阅读(3021) 评论(9) 推荐(4) 编辑
摘要: 之前我完了《重构,改善即有代码的设计》,这本书非常适合在编程中遇到瓶颈的朋友,看完 这本书,一定让您有一种“拨开迷雾”的感觉,事实上这本书就像标题一样,主要是讲代码重构的知识的,从变量命名到语句编写,从语句到提取方法,从方法重构 到类重构等等,每一篇文章都像是一道菜,让看过的人回味无穷,在这里班 下Martin Fowler大师。今天有点兴趣,准备按下来的几一写一下最近的作品《架构,改善程序复用性的设计》,主要从系统架构的角度,来设计一个可能被多个系统重用的公用项目集,下面是本课程的目录部分:第一讲 系统的复用性离不开系统的面向对象性第二讲 什么应该提取出来,什么应该保留第三讲 实现一种功能的 阅读全文
posted @ 2012-05-28 17:54 张占岭 阅读(2142) 评论(5) 推荐(4) 编辑
上一页 1 ··· 295 296 297 298 299 300 301 302 303 ··· 356 下一页