设计模式之工厂模式

2018-06-18 00:46:15来源:未知 阅读 ()

新老客户大回馈,云服务器低至5折

  假如你很有钱,在你没有应用工厂模式之前,你的生活方式是这样的:

  你要出去,你需要先自己找穿的T恤,裤子、鞋子等。这样肯定很麻烦,什么事都需要亲力亲为。

  如果应用了简单工厂模式,就相当于你找了个管家,不过这个管家比较死板,技能比较有限,你告诉他你要什么他就给你什么,有可能他给不了你,假如这个管家只能提供上衣、裤子、鞋子,假如你需要一个公文包怎么办?两个选择,让你的这个管家去补充【修改源代码】,再有一种就是再招一个管家【应用工厂方法模式】,再招的管家和原来的管家都有一个共同的行为,给我提供我需要的东西【共同的行为,可以抽象一个接口,定义一个行为规范】

  工厂方法模式,可以简单理解为你有多个管家,每个管家都负责一样事务,负责你上衣的管家,负责你裤子的管家,负责你鞋子的管家,他们都有一个共同的行为,为你提供你需要的东西。如果来了新的需求,比如说需要一个公文包,那你可以直接招一个负责你公文包的管家即可,这个管家必须有为你提供你需要的东西的行为【实现一个共同的接口】,因为他们都是为你服务的。不一定是招管家【产品可以不一样,工厂方法可以允许产品不一样,只要遵循共同的行为规范即可】,可以是找个女朋友,保姆都是可以的。

  抽象工厂模式,可以这么理解,你有多个女朋友【抽象工厂,共同的行为,为你提供衣服、裤子、鞋子……】和多个管家【抽象产品,提供衣服或裤子或鞋子】,管家是提供衣服(衣服又包含各种颜色,其他的也是分为各种颜色和大小)、裤子、鞋子、公文包等,你的女朋友【具体的工厂】为你提供某套衣服,比如说上班穿的、参加宴会穿的……具体的管家提供具体的某种产品【衣服或者裤子等】

    上面就是我的简单理解。

  >>>>什么事都要亲力亲为

  >>>>找一个能力有限的管家

  >>>>有多个管家,每个管家负责具体的事务

  >>>>有女朋友和管家,管家负责提供具体的东西,而女朋友负责帮你搭配组合。

标签:

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有

上一篇:LINQ的查询标准操作汇总

下一篇:网页title添加图标