上一页 1 ··· 317 318 319 320 321 322 323 324 325 ··· 385 下一页
摘要: 在上一篇文章中,告诉了大家数据库的三大范式,最基础的莫过于数据表中不能有冗余了,但今天主要说的已经“冗余”,而且,有时候冗余并非都是坏事!如,以下是一个大家伙,用户表user_info,它里面有用户的地址ID,如cityid,可能还有用户扩展表的信息,用户积分表的信息等等,这些信息至少需要三个表关联才能得到我们所需要的信息,而实际情况往往比这个还要复杂的多。这时,一种数据冗余的思想产生了,它相当于是用空间来换时间,即数据库在磁盘上占用的空间多了,但查询的性能提高了,这有时是我们可以接受的,规范固然重要,但有时也要具体问题具体去分析,对我们的user_info表进行改进后,可能是这样的结构use 阅读全文
posted @ 2012-07-03 23:10 张占岭 阅读(1766) 评论(3) 推荐(1)
摘要: 有时,理论与实践有一些差距,在做一个具体的事情时,我们应该以实际为核心,而不是把理论死搬上来,要“从实际出发”,呵呵。在数据库的世界里存在着三大范式,也就是规范,真正的关系型数据库应该尽可能的满足这些规范,但有时,我们却根据实际问题,需要违背这些规范,这个系列我将从实际项目中出发来与大家一起说说“反范式”的设计。设计数据库时,首先要根据业务,找出实体,确定实体间的关系。一个结构良好的数据库,让项目在开发的过程中可以顺畅,而一个结构不稳定的数据库则会导致项目在开发的过程中大量的修改代码。不能满面向对象的开闭原则(OCP)。有时,我们可能会经常为一些业务去添加表字段,而这并不是我提供的,建义大家, 阅读全文
posted @ 2012-07-01 22:55 张占岭 阅读(4065) 评论(2) 推荐(3)
摘要: 回到目录众所周知,自从.net中出现了特性(attribute)之后,代码变得更加简洁,可读性更强了,今天主要说一下Conditional特性,Conditional它主要是约束你的代码段在哪种条件下进行执行,我们今天主要针对DEBUG和TRACE这两个条件约束,它们可以当作是Conditional特性的输入参数,形式如下:1 [Conditional("DEBUG")]2 protected static void LogDebugInfo()3 {4 //在debug模式输出一些调试信息5 Con... 阅读全文
posted @ 2012-06-29 14:29 张占岭 阅读(2952) 评论(1) 推荐(3)
摘要: 回到目录在MVC2时代,我们如果希望在页面上引入一个namespace,可以这样来实现1 <%@ Import Namespace="Web.Helpers" %>如果名称空间是所有页面都需要的,像System.Web.Mvc这种类型的,我们可以把它写在web.config里,像这样 1 <pages> 2 <namespaces > 3 <add namespace="System.Web.Helpers" /> 4 <add namespace="System.Web.Mvc" 阅读全文
posted @ 2012-06-29 11:02 张占岭 阅读(5454) 评论(14) 推荐(9)
摘要: 回到目录在MVC的每个action中,都可以指定一种返回页面的类型,可以是ActionResult,这表示返回的页面为view或者是一个PartialView,前台是一个全整页面,后台是页面的一部分。在以ASPX为页面引擎时,PartialView被称为分部视图,扩展名为ASCX,与webform中的用户控件是一样的,即页面中的一个部分;而使用razor为页面引擎时,PartialView扩展名还是cshtml,这一点感觉与普通页面有些混乱。不过,这不是今天我要讲的重点,今天的重点间在partialview中进行页面重定向的方式。第一种情况:在PartialView中进行表单提示操作后,需要返 阅读全文
posted @ 2012-06-28 12:08 张占岭 阅读(7919) 评论(6) 推荐(4)
上一页 1 ··· 317 318 319 320 321 322 323 324 325 ··· 385 下一页