﻿<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>博客园-BigRain-最新评论</title><link>http://www.cnblogs.com/Linjianyu/CommentsRSS.aspx</link><description>多情自古伤离别，更哪堪、冷落清秋节！</description><language>zh-cn</language><pubDate>Fri, 30 Dec 2011 09:31:09 GMT</pubDate><lastBuildDate>Fri, 30 Dec 2011 09:31:09 GMT</lastBuildDate><generator>cnblogs</generator><item><title>Re:和小菜一起成长——delegate</title><link>http://www.cnblogs.com/Linjianyu/archive/2011/08/23/1069430.html#2183421</link><dc:creator>JimmyLin</dc:creator><author>JimmyLin</author><pubDate>Tue, 23 Aug 2011 01:37:04 GMT</pubDate><guid>http://www.cnblogs.com/Linjianyu/archive/2011/08/23/1069430.html#2183421</guid><description><![CDATA[通俗易懂，支持下<br><br><div align=right><a style="text-decoration:none;" href="http://www.cnblogs.com/Linjianyu/" target="_blank">JimmyLin</a> 2011-08-23 09:37 <a href="http://www.cnblogs.com/Linjianyu/archive/2011/08/23/1069430.html#2183421#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Re:装饰者模式</title><link>http://www.cnblogs.com/Linjianyu/archive/2011/08/10/2132667.html#2173096</link><dc:creator>BigRain</dc:creator><author>BigRain</author><pubDate>Wed, 10 Aug 2011 01:34:10 GMT</pubDate><guid>http://www.cnblogs.com/Linjianyu/archive/2011/08/10/2132667.html#2173096</guid><description><![CDATA[@地狱门神
可以这么说吧，装饰者是一种组合和继承的结合体。对于方法的复用采用的是组合，而继承不过是为了保持类型的一致性。<br><br><div align=right><a style="text-decoration:none;" href="http://www.cnblogs.com/Linjianyu/" target="_blank">BigRain</a> 2011-08-10 09:34 <a href="http://www.cnblogs.com/Linjianyu/archive/2011/08/10/2132667.html#2173096#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Re:装饰者模式</title><link>http://www.cnblogs.com/Linjianyu/archive/2011/08/10/2132667.html#2173003</link><dc:creator>BigRain</dc:creator><author>BigRain</author><pubDate>Wed, 10 Aug 2011 00:13:04 GMT</pubDate><guid>http://www.cnblogs.com/Linjianyu/archive/2011/08/10/2132667.html#2173003</guid><description><![CDATA[@阿烽
一直关注呢，虽然代码的编写量集聚下降，但不代表技术水平也会下降。
1、装饰者和被装饰者使用的是同一个基类，就是说他们是同一种类型，换句话就是，一个装饰者可能成为另一个装饰者的装饰对象，成为了被装饰者。所以，他们之间的装饰关系充满着不确定性（这个就体现出灵活性）。
2、这边的一般佐料作为第一个被装饰者。装饰者在创建的时候，就必须传入一个被装饰者。而GeneralCondiments就是作为原始的被装饰者。
3、为什么不是面条作为被装饰者呢。装饰者模式中，装饰者可能成为被装饰者，而且并不能确定谁装饰谁。如果面条和粥也继承自CondimentsDecorator，那这两种食物相互装饰会如何呢？很显然是不妥的。这个可以参考.net中Stream的设计。
4、像你说的上述的业务情况，我可能会让面条和粥继承一个&quot;主食&quot;，再使用策略模式，让 装配好的装饰者 成为&quot;主食&quot;的一个策略。<br><br><div align=right><a style="text-decoration:none;" href="http://www.cnblogs.com/Linjianyu/" target="_blank">BigRain</a> 2011-08-10 08:13 <a href="http://www.cnblogs.com/Linjianyu/archive/2011/08/10/2132667.html#2173003#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Re:装饰者模式</title><link>http://www.cnblogs.com/Linjianyu/archive/2011/08/09/2132667.html#2172859</link><dc:creator>阿烽</dc:creator><author>阿烽</author><pubDate>Tue, 09 Aug 2011 12:50:52 GMT</pubDate><guid>http://www.cnblogs.com/Linjianyu/archive/2011/08/09/2132667.html#2172859</guid><description><![CDATA[啊哈，
     建雨重新走技术路线了，好事啊
 说说我看这个装饰者模式的看法，
1、既然采用装饰者模式当然是为了解决被装饰者和装饰者之间的组合导致的子类太多难以维护的问题；
2、例子举得有点偏差，不容易被理解，这里看起来被装饰的是一般调料。。
3、装饰者是面条 如果能和被装饰者共同继承与一个类 如食物，那么扩展性会大大增加，呵呵 就可以扩展出海鲜粥 、牛肉饺子的东西啦 ；
 一家之言<br><br><div align=right><a style="text-decoration:none;" href="http://www.cnblogs.com/Linjianyu/" target="_blank">阿烽</a> 2011-08-09 20:50 <a href="http://www.cnblogs.com/Linjianyu/archive/2011/08/09/2132667.html#2172859#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Re:装饰者模式</title><link>http://www.cnblogs.com/Linjianyu/archive/2011/08/09/2132667.html#2172763</link><dc:creator>无为是最高</dc:creator><author>无为是最高</author><pubDate>Tue, 09 Aug 2011 10:44:01 GMT</pubDate><guid>http://www.cnblogs.com/Linjianyu/archive/2011/08/09/2132667.html#2172763</guid><description><![CDATA[Is a ,Have a 的关系！<br><br><div align=right><a style="text-decoration:none;" href="http://www.cnblogs.com/Linjianyu/" target="_blank">无为是最高</a> 2011-08-09 18:44 <a href="http://www.cnblogs.com/Linjianyu/archive/2011/08/09/2132667.html#2172763#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Re:装饰者模式</title><link>http://www.cnblogs.com/Linjianyu/archive/2011/08/09/2132667.html#2172750</link><dc:creator>地狱门神</dc:creator><author>地狱门神</author><pubDate>Tue, 09 Aug 2011 10:26:10 GMT</pubDate><guid>http://www.cnblogs.com/Linjianyu/archive/2011/08/09/2132667.html#2172750</guid><description><![CDATA[用泛型的类型参数也可以<br><br><div align=right><a style="text-decoration:none;" href="http://www.cnblogs.com/Linjianyu/" target="_blank">地狱门神</a> 2011-08-09 18:26 <a href="http://www.cnblogs.com/Linjianyu/archive/2011/08/09/2132667.html#2172750#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Re:当aspx遇到mvc</title><link>http://www.cnblogs.com/Linjianyu/archive/2011/01/15/1012375.html#2011465</link><dc:creator>zsuxiong</dc:creator><author>zsuxiong</author><pubDate>Sat, 15 Jan 2011 15:06:42 GMT</pubDate><guid>http://www.cnblogs.com/Linjianyu/archive/2011/01/15/1012375.html#2011465</guid><description><![CDATA[支持你的观点<br><br><div align=right><a style="text-decoration:none;" href="http://www.cnblogs.com/Linjianyu/" target="_blank">zsuxiong</a> 2011-01-15 23:06 <a href="http://www.cnblogs.com/Linjianyu/archive/2011/01/15/1012375.html#2011465#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Re:SerialPort实现modem的来电显示</title><link>http://www.cnblogs.com/Linjianyu/archive/2010/11/16/1373851.html#1961514</link><dc:creator>Ruiky</dc:creator><author>Ruiky</author><pubDate>Tue, 16 Nov 2010 02:49:50 GMT</pubDate><guid>http://www.cnblogs.com/Linjianyu/archive/2010/11/16/1373851.html#1961514</guid><description><![CDATA[您好，博主
请问一下，我用了你的程序，说不支持，AT指令，难道就不能实现来电显示了吗？<br><br><div align=right><a style="text-decoration:none;" href="http://www.cnblogs.com/Linjianyu/" target="_blank">Ruiky</a> 2010-11-16 10:49 <a href="http://www.cnblogs.com/Linjianyu/archive/2010/11/16/1373851.html#1961514#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Re:职责链模式的运用</title><link>http://www.cnblogs.com/Linjianyu/archive/2010/09/29/1491164.html#1927221</link><dc:creator>BigRain</dc:creator><author>BigRain</author><pubDate>Wed, 29 Sep 2010 10:29:43 GMT</pubDate><guid>http://www.cnblogs.com/Linjianyu/archive/2010/09/29/1491164.html#1927221</guid><description><![CDATA[@肖敏

1、对于第一点，GetNumberString只是客户端代码，负责装配链条和触发这个职责链。并没有和具体的逻辑发生耦合。（总要有个地方进行链条的装配，这个装配的逻辑是有客户代码决定的）。对于第二点，这个链条的装配是没有错的。
2、我们的分歧实际上是，一条职责链是否只能有一个节点来处理（只有上一个节点处理不了，才交由下一个节点处理）。我查了下资料，没有发现说职责链只能被一个节点处理。有多个的对象可以处理一个请求，哪个对象处理该请求运行时刻自动确定，从这句话来理解的话，也就是说请求可以同时被多个节点处理。很多的例子都展示了请求只能被一个节点处理。
3、如果一个请求只能由一个节点来处理。我承认你说的是对的。本来亿这个节点应该就能全部处理了（就是要完成亿和亿以下的处理），如果这个数不到亿，才会交由万来处理。只是这样就加剧了亿和万的耦合，换句话说，在实现时，是一个高耦合的过程，所以进行了适当的变异。
4、上面的这个例子，从意图上说他应该是职责链，但就是实现的外在表现，或许可能用监听者模式，但很显然不具备这个意图。我个人觉得是否是某种模式，主要看这段程序所要实现的意图。<br><br><div align=right><a style="text-decoration:none;" href="http://www.cnblogs.com/Linjianyu/" target="_blank">BigRain</a> 2010-09-29 18:29 <a href="http://www.cnblogs.com/Linjianyu/archive/2010/09/29/1491164.html#1927221#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Re:职责链模式的运用</title><link>http://www.cnblogs.com/Linjianyu/archive/2010/09/25/1491164.html#1923447</link><dc:creator>肖敏</dc:creator><author>肖敏</author><pubDate>Sat, 25 Sep 2010 00:44:13 GMT</pubDate><guid>http://www.cnblogs.com/Linjianyu/archive/2010/09/25/1491164.html#1923447</guid><description><![CDATA[博主这里例子不能体现职责链模式的特点。
使多个对象都有机会处理请求，从而避免请求的发送者和接收者之间的耦合关系。将这些对象连成一条链，并沿着这条链传递该请求，直到有一个对象处理它为止。
1.避免请求的发送者和接受者的耦合关系。而博主的GetNumberString()方法（客户端代码）跟所有的接收者都是紧耦合。
2.将这些对象连成一条链，并沿着这条链传递该请求，直到有一个对象处理它为止。
这里强调的是，该请求被一个对象处理。而博主的例子是该请求可能被所有的接收者处理（并且分解）。当然，这点可以不必太拘泥。但是第一点是致命的。
通常职责链的典型例子是窗口事件的分发(Event bubble)，比如说MouseMove事件。而MouseMove的响应函数是请求的处理者。在设计窗口类的时候，设计者并不知道该窗口会有什么控件，什么控件会有处理函数。因此会采用职责链的方式把窗口消息分发给自己的子控件，子控件判断是否有处理函数，如果没有则再次分发给自己的子控件。
另外IHttpHandler也不是使用的职责链模式，它只是一个接口。也许博主想说的是aspx的事件模型（Init-Load-PreRender-Render。 此处只是示例，并没列出所有事件）使用的是职责链模式，其实它只是一个pipeline。流水线处理的方式并不完全等同于职责链模式。其实在这里，aspx的事件模型更像是模板方法或者是builder模式，或者两者兼而有之。职责链的特点除了第一点提到的，发送者跟接收者不能耦合以外，请求的处理者又是请求的转发者。而在aspx事件模型中根本不是这种情况。<br><br><div align=right><a style="text-decoration:none;" href="http://www.cnblogs.com/Linjianyu/" target="_blank">肖敏</a> 2010-09-25 08:44 <a href="http://www.cnblogs.com/Linjianyu/archive/2010/09/25/1491164.html#1923447#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>
