java语言 百分网手机站

java设计模式:工厂模式

时间:2020-09-10 15:09:29 java语言 我要投稿

java设计模式:工厂模式

  导语:Java是一门面向对象编程语言,不仅吸收了C++语言的各种优点,还摒弃了C++里难以理解的多继承、指针等概念,因此Java语言具有功能强大和简单易用两个特征。下面我们来看看工厂模式,希望对大家有所帮助。

java设计模式:工厂模式

  工厂设计模式

  ★ 场景和问题

  面向接口编程是java编程中的大家所公认的第一原则 接口很重要的一个功能:封装隔离。 接口是功能块或封装块的外观。

  Java程序开发讲究面向接口编程,隐藏具体的`实现类,可是如何得到接口呢?

  通过工厂来获得接口。

  工厂的本质是“选择实现”

  工厂、接口和实现类之间的技术边界:工厂只负责选择实现,实现类才做真正的实现,

  而接口是限定到底实现什么东西和返回什么东西,三者之间分工明确、各负其责。

  接口

1
2
3
4
5
package cn.hncu.pattern.factory.dep;          
public interface Api {          
   public String t();          
}          

  实现类

1
2
3
4
5
6
7
8
9
10
11
12
package cn.hncu.pattern.factory.dep.impl;          
import cn.hncu.pattern.factory.dep.Api;          
public class Impl1 implements Api{          
   @Override          
   public String t() {          
       return "Impl1";          
   }          
}          
1
2
3
4
5
6
7
8
9
10
11
12
package cn.hncu.pattern.factory.dep.impl;          
import cn.hncu.pattern.factory.dep.Api;          
public class Impl2 implements Api{          
   @Override          
   public String t() {          
       return "Impl2";          
   }          
}          

  工厂

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
package cn.hncu.pattern.factory.dep;          
import cn.hncu.pattern.factory.dep.impl.Impl1;          
import cn.hncu.pattern.factory.dep.impl.Impl2;          
/* 工厂类的命名规范: XXXFactory          
* 工厂方法的命名规范:            
     获得当前类的实例: getInstance(), newInstance(),          
     工厂类中生产接口: getXXXApi(),createXXXApi()          
*/          
public class ApiFactory {          
   private ApiFactory(){          
   }          
             
   public static Api getApi(int type){          
       if(type==1){          
           return new Impl1();          
       }else{          
           return new Impl2();          
       }          
   }          
}          

【java设计模式:工厂模式】相关文章:

JAVA设计模式之单例模式11-23

解析Java的设计模式编程之解释器模式的运用11-23

Java的设计模式编程中责任链模式的运用的实例讲解12-01

该怎么使用Java设计模式编程中的OCP开闭原则?11-23

简单讲解Java的Future编程模式方案11-25

Java开发策略模式的简单应用实现方法11-30

PHP中的设计模式详解08-15

C语言编程中使用设计模式中的原型模式的讲解11-19

photoshop柔光模式和叠加模式的运用教程11-15

C#抽象工厂模式的几种实现方法及比较10-07