<?xml version="1.0" encoding="utf-8"?><feed xmlns="http://www.w3.org/2005/Atom"><title type="text">博客园_blueox's Tech Net</title><subtitle type="text"/><id>http://feed.cnblogs.com/blog/u/24788/rss</id><updated>2011-03-17T04:27:12Z</updated><author><name>blueox</name><uri>http://www.cnblogs.com/blueox/</uri></author><generator>CNBlogs BlogServer</generator><link rel="alternate" type="text/html" href="http://www.cnblogs.com/blueox/"/><link rel="self" type="application/atom+xml" href="http://feed.cnblogs.com/blog/u/24788/rss"/><entry><id>http://www.cnblogs.com/blueox/archive/2011/03/17/1986896.html</id><title type="text">有用的设计模式观  转贴</title><summary type="text">设计模式是有效的架构设计方法，甚至可以说是面向对象编程的范例，不过，学习设计模式比学习一种同类型的语言（比如Java之于C#）困难得多。 简历中不少人会或多或少提到设计模式，但是真的问时，大多又是只能说出“工厂”，“单例”之类的模式，这些模式是比较简单，同时也是重要的模式，不过，创建型模式更像味精，用于调味其它的结构性模式，脱离了结构性模式，创建型模式也就失去了存在的意义。 所以，从这个角度来说，GoF虽然能力很强，写书的水平实在不怎么样，把创建型模式放在前面，失去了循序渐进的好处，使得很多人停留在了“工厂”，“单例”，却不真的知道为什么要用它们。 但是，不少结构性模式的差别很微妙，也比较难精</summary><published>2011-03-17T04:26:00Z</published><updated>2011-03-17T04:26:00Z</updated><author><name>blueox</name><uri>http://www.cnblogs.com/blueox/</uri></author><link rel="alternate" href="http://www.cnblogs.com/blueox/archive/2011/03/17/1986896.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/blueox/archive/2011/03/17/1986896.html"/><content type="html">&lt;div&gt;设计模式是有效的架构设计方法，甚至可以说是面向对象编程的范例，不过，学习设计模式比学习一种同类型的语言（比如Java之于C#）困难得多。&lt;br /&gt; &lt;br /&gt; 简历中不少人会或多或少提到设计模式，但是真的问时，大多又是只能说出&amp;#8220;工厂&amp;#8221;，&amp;#8220;单例&amp;#8221;之类的模式，这些模式是比较简单，同时也是重要的模式，不过，创建型模式更像味精，用于调味其它的结构性模式，脱离了结构性模式，创建型模式也就失去了存在的意义。&lt;br /&gt; &lt;br /&gt; 所以，从这个角度来说，GoF虽然能力很强，写书的水平实在不怎么样，把创建型模式放在前面，失去了循序渐进的好处，使得很多人停留在了&amp;#8220;工厂&amp;#8221;，&amp;#8220;单例&amp;#8221;，却不真的知道为什么要用它们。&lt;br /&gt; &lt;br /&gt; 但是，不少结构性模式的差别很微妙，也比较难精通，在我看来，对于初学者，很多停留在&amp;#8220;工厂&amp;#8221;&amp;#8220;单例&amp;#8221;固然不好，即使能一股脑把23种经典设计模式都看完，也不是一个正确的做法，只会在这些微妙差别中迷失。&lt;br /&gt; &lt;br /&gt; 所以，我推荐给初学者的做法是：忘掉所有你阅读过的设计模式，承认自己完全不理解设计模式，并且主攻一种我认为最基础，或者说最重要的结构性设计模式：策略模式。&lt;br /&gt; &lt;br /&gt; 或者更进一步，也不要想什么策略模式，而是去熟悉面向对象的基础知识，了解什么叫接口，并且在你的项目中，极力思考什么情况下，使用接口可以灵巧的实现需 求，而且针对未来可能的同类型改变，可以轻松的应对？极力思考使用接口怎样可以分离类和类之间的关系，使之都依赖于接口，而不是互相纠缠在一起。使用类图 可能能更好的帮助你进行设计，从类图上，查看你的类之间的关系，使用你能想到的方法，消除扑朔迷离的类依赖，使之尽量清晰、简洁。一旦你完成了面向接口编 程的转变，你会发现，你自然而然的需要一种方式，来创建你的接口的派生类，也就是工厂模式，有时候，简单工厂不能满足要求，可能还需要进行一些扩展&amp;#8230;&amp;#8230;&lt;br /&gt; &lt;br /&gt; 现在，再回来从头阅读一遍GoF的那本薄薄的小书《设计模式》，你可能会发现有些创建型模式正是你项目里需要的，很多结构性模式和你使用接口的方法是如此 相像，也许你会发现你不止重新&amp;#8220;发明&amp;#8221;了一种模式，而这一次，因为你完全理解为什么你需要使用接口，为什么需要使用工厂，也才能准确的理解相似的模式之间 的些微差异，并且对不同模式的使用时机进行更好的评估。你也会发现，有一些模式，比如中介者，对于 .Net  开发人员来说，几乎人人天天都在用；有一些模式，比如原型，使用反射加特性可以更好的实现等等。现在我想你会和我一样的觉得，原来面向对象编程的真谛在于 设计模式&amp;#8230;&amp;#8230;&lt;br /&gt; &lt;br /&gt; 最后说两句题外话：一，无论什么时候，通读一遍MSDN都是一个快速提高的好方法；二，软件设计很多时候是在选择，并不是使用新技术就一定是好的，并不是多用设计模式就一定是好的，将正确的技术，用在正确的地方，才是一个软件设计师的能力所在。 &lt;/div&gt;&lt;img src="http://www.cnblogs.com/blueox/aggbug/1986896.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/blueox/archive/2011/03/17/1986896.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry><entry><id>http://www.cnblogs.com/blueox/archive/2008/07/07/1237744.html</id><title type="text">SharePoint提示 Service Unavailable  -虚拟服务器的应用程序池问题</title><summary type="text"/><published>2008-07-07T12:56:00Z</published><updated>2008-07-07T12:56:00Z</updated><author><name>blueox</name><uri>http://www.cnblogs.com/blueox/</uri></author><link rel="alternate" href="http://www.cnblogs.com/blueox/archive/2008/07/07/1237744.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/blueox/archive/2008/07/07/1237744.html"/></entry><entry><id>http://www.cnblogs.com/blueox/archive/2008/07/07/1237742.html</id><title type="text">sp07改服务器的名称</title><summary type="text"/><published>2008-07-07T12:54:00Z</published><updated>2008-07-07T12:54:00Z</updated><author><name>blueox</name><uri>http://www.cnblogs.com/blueox/</uri></author><link rel="alternate" href="http://www.cnblogs.com/blueox/archive/2008/07/07/1237742.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/blueox/archive/2008/07/07/1237742.html"/></entry><entry><id>http://www.cnblogs.com/blueox/archive/2008/06/24/1228854.html</id><title type="text">使用JSON来做数据传输的动态下拉列表</title><summary type="text"/><published>2008-06-24T04:40:00Z</published><updated>2008-06-24T04:40:00Z</updated><author><name>blueox</name><uri>http://www.cnblogs.com/blueox/</uri></author><link rel="alternate" href="http://www.cnblogs.com/blueox/archive/2008/06/24/1228854.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/blueox/archive/2008/06/24/1228854.html"/></entry><entry><id>http://www.cnblogs.com/blueox/archive/2007/03/30/694305.html</id><title type="text">模板：SharePoint2007解决方案包 </title><summary type="text"/><published>2007-03-30T09:47:00Z</published><updated>2007-03-30T09:47:00Z</updated><author><name>blueox</name><uri>http://www.cnblogs.com/blueox/</uri></author><link rel="alternate" href="http://www.cnblogs.com/blueox/archive/2007/03/30/694305.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/blueox/archive/2007/03/30/694305.html"/></entry><entry><id>http://www.cnblogs.com/blueox/archive/2007/03/30/694301.html</id><title type="text">SharePoint2007的正则判定文本型字段 </title><summary type="text"/><published>2007-03-30T09:45:00Z</published><updated>2007-03-30T09:45:00Z</updated><author><name>blueox</name><uri>http://www.cnblogs.com/blueox/</uri></author><link rel="alternate" href="http://www.cnblogs.com/blueox/archive/2007/03/30/694301.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/blueox/archive/2007/03/30/694301.html"/></entry><entry><id>http://www.cnblogs.com/blueox/archive/2007/03/30/694283.html</id><title type="text">Windows SharePoint Service 3.0自定义列表字段的接口</title><summary type="text">Windows SharePoint Service 3.0提供了自定义列表字段的接口，开发人员可以完全自主的开发所需要的列表字段类型，并且可对这种字段类型的编辑方式、显示方式完全控制。&#xD;&#xD;注：感谢Todd Bleeker提供样例代码。&#xD;</summary><published>2007-03-30T09:36:00Z</published><updated>2007-03-30T09:36:00Z</updated><author><name>blueox</name><uri>http://www.cnblogs.com/blueox/</uri></author><link rel="alternate" href="http://www.cnblogs.com/blueox/archive/2007/03/30/694283.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/blueox/archive/2007/03/30/694283.html"/></entry><entry><id>http://www.cnblogs.com/blueox/archive/2007/03/30/694276.html</id><title type="text">Visual Studio 2005 extensions for Windows SharePoint Services 3.0 试用 </title><summary type="text">首先，下载此扩展包： &#xD;&#xD;http://www.microsoft.com/downloads/details.aspx?familyid=19f21e5e-b715-4f0c-b959-8c6dcbdc1057&amp;displaylang=en &#xD;&#xD;安装后，VS2005中会有WSS工程模板：【注】建议在有WSS环境的机器上安装。我在XP上安装后也能使用这些模板，但安装过程会报错，而且我没测试编译运行。 &#xD;</summary><published>2007-03-30T09:33:00Z</published><updated>2007-03-30T09:33:00Z</updated><author><name>blueox</name><uri>http://www.cnblogs.com/blueox/</uri></author><link rel="alternate" href="http://www.cnblogs.com/blueox/archive/2007/03/30/694276.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/blueox/archive/2007/03/30/694276.html"/></entry><entry><id>http://www.cnblogs.com/blueox/archive/2007/03/27/690299.html</id><title type="text">在SharePoint Server 2007中创建定制的用户管理模块 </title><summary type="text">在SharePoint Portal Server 2003的时代，它被说得最多的一个问题就是其用户系统必须使用Active Directory，我们必须在域里面为用户创建相应的AD账号，然后才能将AD账号添加为SharePoint站点用户。如果企业已经部署了AD，那么这不会是一个多大的问题（反而会成为其一个优点），但是对于没有部署AD的企业，或者要将SharePoint站点发布到Internet上的场景，这就是一个不小的问题了。</summary><published>2007-03-27T10:14:00Z</published><updated>2007-03-27T10:14:00Z</updated><author><name>blueox</name><uri>http://www.cnblogs.com/blueox/</uri></author><link rel="alternate" href="http://www.cnblogs.com/blueox/archive/2007/03/27/690299.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/blueox/archive/2007/03/27/690299.html"/></entry><entry><id>http://www.cnblogs.com/blueox/archive/2007/03/13/672685.html</id><title type="text">SPS2003技术体系分析 </title><summary type="text">一、程序文件及IIS配置 2&#xD;二、SPS数据库对象分析 2&#xD;1．主要数据库表 3&#xD;2．主要表及字段 4&#xD;3．Windows SharePointServices存储过程 8&#xD;三、SPS封装后的对象分析 9&#xD;1．SPS主要对象体系结构 9&#xD;2．Microsoft.SharePoint命名空间简介 9&#xD;3．Windows SharePoint Services Web Service简介 13&#xD;4．SharePoint 事件分析 20&#xD;四、开发相关资源 22</summary><published>2007-03-13T01:31:00Z</published><updated>2007-03-13T01:31:00Z</updated><author><name>blueox</name><uri>http://www.cnblogs.com/blueox/</uri></author><link rel="alternate" href="http://www.cnblogs.com/blueox/archive/2007/03/13/672685.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/blueox/archive/2007/03/13/672685.html"/></entry></feed>
