java语言

java设计模式:工厂模式

时间:2025-05-27 02:54:47 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设计模式:DAO模式08-18

java设计模式:多例模式08-12

java设计模式:装饰模式07-08

JAVA设计模式之单例模式07-29

Java单例设计模式09-27

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

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

Java的结构型模式07-09

简单讲解Java的Future编程模式方案09-30