Java设计模式之工厂模式

 时间:2024-10-15 12:06:51

1、首先假设我们开了一个公司生产苹果手机,打算生产的手机是苹果6和苹果7,然后写一个工厂类,去生成这两种手机。创建两个苹果类,创建工厂类,在工厂类中写两个静态方法分别是制造苹果6和苹果7。至此我们已经造好工厂,很开心,工厂可以很顺利的制造苹果手机了。

Java设计模式之工厂模式
Java设计模式之工厂模式

2、但是有一天,苹果公司发布了苹果8,为了满足制造苹果8的需求:首先要造一个类苹果8。但是接下来碰到一个问题,要想完成对苹果8的生产,此时只能去修改工厂类,在里面添加一个新的方法,制造苹果8;

Java设计模式之工厂模式

3、但是Java不提倡这种写法,因为他已经违反了开闭原则,那该如何解决哪。

4、面向接口的编程:(接口变量的引用可以指向接口实现类变量的引用)。(1)定义一个苹果接口:IApple,苹果6和苹果7类分别实现此接口。

Java设计模式之工厂模式
Java设计模式之工厂模式
Java设计模式之工厂模式

5、(2)定义一个工厂接口:IAppleFactory,此接口有一个方法getApple,返回值是IApple。

Java设计模式之工厂模式

6、(3)创建一个苹果6的工厂:Apple6Factory,实现工厂接口,并完成实现类,此实现类实现了对苹果6的生产。同样的道理,我们创建苹果7的工厂,制造苹果7。

Java设计模式之工厂模式
Java设计模式之工厂模式

7、此时我们就造好了苹果6和苹果7的工厂,如果此时苹果8发布了,我们只需要在再造一个苹果8的工厂,此时可以不用去修改之前写好的任何代码。这就满足了开闭原则,实现了新需求的功能,这就是可扩展的Java工厂模式。

Java设计模式之工厂模式
Java设计模式之工厂模式
  • java设计模式之简单工厂模式
  • javascript[设计模式]工厂模式
  • JAVA接口设计模式-工厂模式
  • java工厂设计模式的使用方法和实例
  • C#如何应用简单工厂设计模式
  • 热门搜索
    美德少年手抄报资料 元宵节手抄报英语版 孝行天下手抄报 反腐倡廉手抄报内容 卫生健康手抄报 青春期教育手抄报 手抄报花边简单图案 感恩的心手抄报大全 初二历史手抄报 初中手抄报版面设计