做跳转链接到自己的网站,企业网站设计报名,做流量网站怎么做,wordpress 修改邮箱设置Builder和Factory模式区别 Builder模式结构#xff1a; Factory模式一进一出,Builder模式是分步流水线作业。当你需要做一系列有序的工作或者按照一定的逻辑来完成创建一个对象时 Builder就派上用场啦。我们可以看到#xff0c;Builer模式与工厂模式是极为相似的#xff0c;…Builder和Factory模式区别 Builder模式结构 Factory模式一进一出,Builder模式是分步流水线作业。当你需要做一系列有序的工作或者按照一定的逻辑来完成创建一个对象时 Builder就派上用场啦。我们可以看到Builer模式与工厂模式是极为相似的但是他们还是有区别的 一、从结构上来看Builder模式比工厂模式多了一个“导演类”的角色。在Builder模式的类图中假如把这个导演类看做是最终调用的客户端那么图中剩余的部分就可以看作是一个简单的工厂模式了。 二、两者所创建的产品类型完全不一样。Factory创建只能是单一的产品(单一在这指它非复合产品),而Builder所创建的产品是复合产品即产品本身就是由其它部件产品组成的。举个例子来说现在要生产一辆车假设它就只由这三个部分组成玻璃、轮子、发动机。对于工厂模式来说他创建后返回的只能是玻璃或者轮子抑或是发动机。不管怎么样他不能向客户返回一辆完整的汽车要得到一辆完整的汽车客户必须自己动手去把这些零部件组装成一辆汽车。从这个意义上来讲工厂模式中的工厂只是充当了零件厂的角色。那Builder又是如何创建产品的呢在Builder模式中一般不需要、也不充许向客户返回单个部件他向客户返回的仅仅就是一部已经完全组装好的汽车成品。对于汽车部件的生产细节客户不需要、也不应该让他们知道。 写到这我突然想到了组装电脑与品牌电脑的差别组装电脑虽然价格便宜且易于改动但性能没有保证另外你自己还必须了解很多有关电脑方面的知识对于品牌电脑价格贵这点先暂时不说关键在于他不灵活但是它的性能可以得到很好保证(由厂家)这易像我们在Builder的系统端保证部件的质量一样。另外对于品牌电脑客户根本不需要了解多少电脑组装方面的知识就可以把一台电脑抱回家开机使用了。那么在实际运用中你是喜欢做DIY一族呢还是喜欢稳定有保证的质量呢好像在我们编程的这个过程中我们比较趋向于使用“品牌电脑”。这也就为我们正确使用这两种设计模式提供了一个方向如果你要生产的产品是由不同部件组成的你最好使用Builder模式而非Factory模式。 三、Builder和Factory的差别还在于他们所生产部件产品所在产品树的问题。这样说可能有点拗口。具体来说吧在工厂模式中我们知道一个工厂可以创建多个产品但一个工厂模式中所创建的某个产品都会和另一个工厂中所创建的产品在同一棵继承树上。Builder可以创建出可以创建出风马不相及的产品(虽然我们不这么做)但是Factory模式一般是创建一类产品。 转https://www.cnblogs.com/yejg1212/archive/2013/02/25/2932526.html转载于:https://www.cnblogs.com/jiangtao1218/p/10544474.html