需要澄清 - 设计模式

<p>在大多数的设计模式的概念,有人提到,“有一个”优于“是”的意思。 P&gt; </p><p>在第一章 - <strong> Head First设计模式 STRONG&gt; - “介绍设计模式”,部分“集成鸭行为”(第15号),鸭类是具有FlyBehavior和QuackBehavior引用接口类型。例如,我们要在功能名称中添加一个新的行为就XYZBehavior(只是假设客户端尚未决定的话)一种鸭子,我们需要改变的鸭类有提及新的接口。结果,我们需要改变类,但它不应该发生根据良好的设计模式。 P&gt; <p>你能不能给我建议我们如何处理这个要求? P&gt;
</p></strong></p>

86 浏览 1 回复
  gt   行为   模式   一个   鸭子  

回复

    <p>策略模式如果添加了一个<strong>新 STRONG&gt;行为(策略)不会更改类的预防。它只是接触到类,防止如果<strong>现有 STRONG&gt;行为(战略)的变化。 P&gt; <p>与QuackBehaviour例子:假设,我们认为,一个鸭子的声音听起来象“quaack”,但经过一些年的研究,我们意识到,其实鸭子听起来像“quaaack”。我们很幸运,我们实施了QuackBehaviour,只是调整QuackBehaviour接口共同鸭implemtation。这是这种模式的伎俩。 P&gt; </p><p>如果后来,我们决定增加一个SwimBehaviour,因为另一个研究小组意识到,游泳是一种常见的鸭子的行为,那么我们就接触到共同的鸭子,并添加行为(以 类)。 P&gt; </p><p>希望它帮助! P&gt; </p><p>这问题可以通过使用依赖注入 P&gt;解决 </p><p>(在Java中通常是通过两种或的<a href="htt​​p://code.google。 COM / p /谷歌吉斯/" rel="nofollow">吉斯) p&gt; </p><p>下面是一个新手指南依赖注入 A &gt; p&gt; <p>基本上,伯德将有行为属性: P&gt;</p><p>现在在你指定的行为得到注入鸟,而无需更改鸟类的配置文件。 P&gt;
    </p>
    </p></strong></strong></p>

    李芊

相关信息

C#扩展方法 - 设计模式

<p>我想如果C#扩展方法是基于任何现有的设计模式就知道了。 P&gt; </p>

68 浏览 1 回复   方法   模式   一个   设计模式   设计  

Java的设计模式 - 业务代理

<p>我已经得到了有关Java的设计模式的一些问题。我想知道查找服务和业务委托模式的业务服务的准确用途。我很欣赏尽可能多的细节和可能的信息。 P&gt; </p>

77 浏览 1 回复   gt   服务   业务   模式   strong  

J2ME - 黑莓 - 设计模式

<p>有几个关于J2ME模式出版物: [架构宣言:由米克Kontio在MIDP开发MVC设计模式](http://www.ibm.com/developerworks/wireless/library/wi-arch6/) &lt; BR&gt; 对于移动服务的设计模式与J2ME的由J. Narsoo和N. Mohamudally [鉴定 ](http://proceedings...

47 浏览 1 回复   gt   模式   设计   strong   j2me  

JPA ORM设计模式

<p>我需要JPA / ORM,而不是POJO / JDBC / DAO模式的新设计模式。 是否有任何建议的链接? P&gt; </p><p> RGDS P&gt; </p>

43 浏览 1 回复   一个   模式   是否   jpa   gt  

Visual Studio 2005的设计模式问题

<p>在Visual Studio 2005中我创建了一个网站,并实现CSS。当我运行的网站一切正常,没有问题的CSS。 P&gt; </p><p>但是,当我在设计模式中的CSS我的网页上没有实现。 我该如何解决这个问题? P&gt; </p>

53 浏览 1 回复   gt   问题   模式   css   运行