张文鹏个人博客系统
炫酷文字跳动漂浮js特效代码

为什么很多人都想成功,但成功的人只是极少数?不是因为成功有多困难,其实成功简单得很,只要你一开始都有计划,并且能一直做下去,总会成功的。关键是如何面对成功,你失败了,起码还有人同情你,而成功了,连得到同情的机会都没有。 一匹真正的好马,即使在鞭子的影子下,也能飞奔。 如果你没有把握做到,最好就不要承诺,你什么也不承诺,至少别人不会看不起你。 一本好书,就像高级武功秘籍一样,哪怕只是从里面领悟到个一招半势,功力提升起来都是惊人的。 永不放弃,永不放弃又有两个原则,第一个原则是永不放弃,第二个原则就是:当你想放弃时回头看第一个原则。

欢迎来到zwp博客 用心记录点滴生活
博客信息

设计模式-1简单工厂模式

0
发布时间:『 2017-11-15 19:04 』  博客类别:Java  阅读(157)  评论(0)

1.简单工厂模式概念:

简单工厂模式属于类的创建型模式,又叫做静态工厂方法模式。通过专门定义一个类来负责创建其他类的实例,被创建的实例通常都具有共同的父类。

2.简单工厂模式的三大角色:

 (1)工厂(Creator)角色
简单工厂模式的核心,它负责实现创建所有实例的内部逻辑。工厂类可以被外界直接调用,创建所需的产品对象。

(2)抽象(Product)角色
简单工厂模式所创建的所有对象的父类,它负责描述所有实例所共有的公共接口。

 (3)具体产品(Concrete Product)角色
简单工厂模式所创建的具体实例对象

3.代码解释:
先创建Apple,Banana,Main测试类,创建对应的实例。

1510743010384068512.jpg

1510743027119008872.jpg

1510744095092020855.jpg

(1)第一种方案一般是通过直接new实例,然后调用其方法如上图。

(2)第二种方案,由于Apple和Banana中有共同的get方法,所以写个Fruit接口,Apple,Banana分别实现这个接口,在Main中通过多态来创建对应的实例

1510743216460031675.jpg

1510743230062051512.jpg

(3)第三种简单工厂模式:

创建一个FruitFactory的工厂类,在里面进行逻辑判断。在通过传的参数来生成对应的实例。

1510744069733094705.jpg

结果均显示为:

1510743405847031413.jpg

4.总结:

在这个模式中,工厂类是整个模式的关键所在。它包含必要的判断逻辑,能够根据外界给定的信息,决定究竟应该创建哪个具体类的对象。用户在使用时可以直接根据工厂类去创建所需的实例,而无需了解这些对象是如何创建以及如何组织的。有利于整个软件体系结构的优化。
不难发现,简单工厂模式的缺点也正体现在其工厂类上,由于工厂类集中了所有实例的创建逻辑,所以“高内聚”方面做的并不好。另外,当系统中的具体产品类不断增多时,可能会出现要求工厂类也要做相应的修改,扩展性并不很好。



关键字:   简单工厂设计模式  

上一篇:盲僧集锦

下一篇:新年快乐

评论信息
暂无评论
发表评论
验证码: 
jquery轮播效果图
励志美句

越努力越幸运!

  • 1
  • 2
  • 3
  • 4
< >
你是本站第位访客
苏ICP备17048714