<?xml version="1.0" encoding="utf-8"?><feed xmlns="http://www.w3.org/2005/Atom"><title type="text">博客园_Cheese_Ren</title><subtitle type="text"/><id>http://feed.cnblogs.com/blog/u/41462/rss</id><updated>2009-12-02T07:46:35Z</updated><author><name>Cheese</name><uri>http://www.cnblogs.com/Cheese_Ren/</uri></author><generator>CNBlogs BlogServer</generator><link rel="alternate" type="text/html" href="http://www.cnblogs.com/Cheese_Ren/"/><link rel="self" type="application/atom+xml" href="http://feed.cnblogs.com/blog/u/41462/rss"/><entry><id>http://www.cnblogs.com/Cheese_Ren/archive/2009/10/19/1586253.html</id><title type="text">数据持久层的设计</title><summary type="text">最近在看《企业应用架构模式》，并且思考数据持久层的实现，从而也发现了目前自己项目中持久层的一个漏洞。一、漏洞　　项目中的数据访问层的实现是这样的，一个数据表对应一个实体（贫血实体，里面只有对应数据库字段的属性），另外加一个数据访问类，这里面封装了类似GetEntity(long id)、Update（Entity entity）、Add(Entity entity)这样的方法。用起来倒是也蛮好用的...</summary><published>2009-10-19T15:24:00Z</published><updated>2009-10-19T15:24:00Z</updated><author><name>Cheese</name><uri>http://www.cnblogs.com/Cheese_Ren/</uri></author><link rel="alternate" href="http://www.cnblogs.com/Cheese_Ren/archive/2009/10/19/1586253.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/Cheese_Ren/archive/2009/10/19/1586253.html"/></entry><entry><id>http://www.cnblogs.com/Cheese_Ren/archive/2009/09/03/1559647.html</id><title type="text">留住异常的堆栈信息【throw ex 和 throw 的区别】</title><summary type="text">当我们想把框架底层的异常向上抛时（比如从DAL到BLL），例如下面的代码[代码]上面代码的的问题在于，会造成CLR重新设置异常抛出的起点，导致我们在查看异常堆栈的时候，无法知道实际抛出异常的最底层的调用。所以上面的代码应该使用throw关键字来向上抛出异常。</summary><published>2009-09-03T08:41:00Z</published><updated>2009-09-03T08:41:00Z</updated><author><name>Cheese</name><uri>http://www.cnblogs.com/Cheese_Ren/</uri></author><link rel="alternate" href="http://www.cnblogs.com/Cheese_Ren/archive/2009/09/03/1559647.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/Cheese_Ren/archive/2009/09/03/1559647.html"/></entry><entry><id>http://www.cnblogs.com/Cheese_Ren/archive/2009/04/30/1447166.html</id><title type="text">Jquery Validation ：多个按钮都需要做提交验证的解决方案</title><summary type="text">按钮点击时出发validate方法：[代码]validate_settings_query这个是validate的option参数，那么实现不同的校验逻辑，实际上就是构造不同的option参数即可：[代码]</summary><published>2009-04-30T09:33:00Z</published><updated>2009-04-30T09:33:00Z</updated><author><name>Cheese</name><uri>http://www.cnblogs.com/Cheese_Ren/</uri></author><link rel="alternate" href="http://www.cnblogs.com/Cheese_Ren/archive/2009/04/30/1447166.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/Cheese_Ren/archive/2009/04/30/1447166.html"/></entry><entry><id>http://www.cnblogs.com/Cheese_Ren/archive/2009/04/30/1446903.html</id><title type="text">框架结构和脚本跨域的问题</title><summary type="text">背景：框架结构即普遍的 上-左-右 的结构 leftFrame 是菜单， rightFrame是内容页跨域问题：本域为x.abc.com菜单里面有挂了另外一个子域y.abc.com的页面，那个子域里面使用了asp.net ajax，生成的脚本里面，要访问top，造成了脚本的跨域访问，于是我在框架页面里面设置了 document.domain = "abc.com" ，在子域的那个页面里面也设置do...</summary><published>2009-04-30T04:39:00Z</published><updated>2009-04-30T04:39:00Z</updated><author><name>Cheese</name><uri>http://www.cnblogs.com/Cheese_Ren/</uri></author><link rel="alternate" href="http://www.cnblogs.com/Cheese_Ren/archive/2009/04/30/1446903.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/Cheese_Ren/archive/2009/04/30/1446903.html"/></entry><entry><id>http://www.cnblogs.com/Cheese_Ren/archive/2009/02/18/1393034.html</id><title type="text">[转] eval() may be evil</title><summary type="text">eval()这个东东，以前也接触过和用过，但是一直没放在心上去理解。今天偶然发现了一篇文章，才让我恍然大悟，其实eval()就是把一个字符串当做代码来执行的。这也就引出了引文中提到的问题：eval() 如果不善用的话，会给自己的程序带来很大的问题，-------引文原文如下：---------------------------Simon Willison 认为：虽然Javascript提供了把动...</summary><published>2009-02-18T04:15:00Z</published><updated>2009-02-18T04:15:00Z</updated><author><name>Cheese</name><uri>http://www.cnblogs.com/Cheese_Ren/</uri></author><link rel="alternate" href="http://www.cnblogs.com/Cheese_Ren/archive/2009/02/18/1393034.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/Cheese_Ren/archive/2009/02/18/1393034.html"/></entry><entry><id>http://www.cnblogs.com/Cheese_Ren/archive/2009/01/06/1370325.html</id><title type="text">" somedate &lt;= 2009-1-1 23:59.59.999 " 陷阱</title><summary type="text">看到标题，相信很多有经验的开发人员，已经猜到是什么问题了。写在这里是希望给后来人一个提醒，并且也提醒自己应该如何正确的去认识任何一个数据类型。言归正传，用 " somedate &amp;lt;= 2009-1-1 23:59.59.999 " 作为查询条件，最终的结果是会把 somedate = 2009-1-2 00:00.00.000 的记录一起查出来。为什么呢？答案在联机丛书中一句不起眼的话：&amp;#...</summary><published>2009-01-06T06:50:00Z</published><updated>2009-01-06T06:50:00Z</updated><author><name>Cheese</name><uri>http://www.cnblogs.com/Cheese_Ren/</uri></author><link rel="alternate" href="http://www.cnblogs.com/Cheese_Ren/archive/2009/01/06/1370325.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/Cheese_Ren/archive/2009/01/06/1370325.html"/></entry><entry><id>http://www.cnblogs.com/Cheese_Ren/archive/2008/09/12/1290236.html</id><title type="text">“==” 和 Equals()</title><summary type="text">使用.NET做开发三年多了，还以为自己的.NET基本功很扎实，谁知一个简单的读程序我却做错了&amp;#8230;&amp;#8230; 教训是：常常你自己觉得你了解的很清楚了，但其实那是一种思维定势，也许你根本就没真正了解。这种不求甚解的学习，是计算机技术最最要不得的。言归正传，代码清单如下：[代码]我就不卖关子了，这段代码的输出是： true true false true 。下面解释一下结果，其实就是操作符...</summary><published>2008-09-12T15:18:00Z</published><updated>2008-09-12T15:18:00Z</updated><author><name>Cheese</name><uri>http://www.cnblogs.com/Cheese_Ren/</uri></author><link rel="alternate" href="http://www.cnblogs.com/Cheese_Ren/archive/2008/09/12/1290236.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/Cheese_Ren/archive/2008/09/12/1290236.html"/></entry></feed>
