java设计模式:工厂模式
导语:Java是一门面向对象编程语言,不仅吸收了C++语言的各种优点,还摒弃了C++里难以理解的多继承、指针等概念,因此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的设计模式编程中责任链模式的运用的实例讲解12-01
该怎么使用Java设计模式编程中的OCP开闭原则?11-23
Java开发策略模式的简单应用实现方法11-30
PHP中的设计模式详解08-15
C#抽象工厂模式的几种实现方法及比较10-07