博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
研磨设计模式学习笔记1--简单工厂(SimpleFactory)
阅读量:6819 次
发布时间:2019-06-26

本文共 1041 字,大约阅读时间需要 3 分钟。

需求:实现一个简单工厂,客户端根据需求获取实现类。

简单工厂优点:

  1. 客户端不需要知道工厂内部实现,然组件外部实现面向接口编程。
  2. 客户端、实现类解耦。

一、接口及实现类

//接口public interface Api {    void say();}//实现类Apublic class ImplA implements Api {    @Override    public void say() {        System.out.println("ImplA");    }}//实现类Bpublic class ImplB implements Api {    @Override    public void say() {        System.out.println("ImplB");    }}

二、工厂

public class Factory {    public static Api createApi() throws Exception{        InputStream is = Client.class.getResourceAsStream("peizhi.properties");//配置文件中配置需要的实现类名称        Properties properties = new Properties();        properties.load(is);        String className = (String) properties.get("impl");        return (Api) Class.forName(className).newInstance();    }}
peizhi.properties内容:impl=pattern.simplefactory.ImplB(包名+实现类名)

tips:关于加载propertie一些小结

客户端:

public class Client {    public static void main(String[] args) throws Exception {        Api api = Factory.createApi();        api.say();//执行结果:ImplB    }}

 

转载于:https://www.cnblogs.com/liuboyuan/p/9595313.html

你可能感兴趣的文章
asp.net mvc 如何调用微信jssdk接口:分享到微信朋友(圈)| 分享到qq空间
查看>>
Redis主从配置
查看>>
全面掌握ping命令(四)ping命令常用参数
查看>>
【C语言】编写一个程序统计输入字符串中: 各个数字、空白字符、以及其他所有字符出现的次数。...
查看>>
mysql用户管理、常用sql语句、mysql数据库备份恢复
查看>>
五大常用算法
查看>>
说说这些年做的云计算和大数据项目
查看>>
java基础第十二天_集合
查看>>
最新一代企业管理软件功能介绍
查看>>
12 种编程语言的起源故事
查看>>
Linux crond 定时任务
查看>>
linux 文件删除详解
查看>>
linux下虚拟终端terminator安装和使用
查看>>
Java多线程学习(六)Lock锁的使用
查看>>
java异常处理的机制 java 架构师学习 java北京
查看>>
史上最全Python数据类型详解
查看>>
青藤出品:【重磅】2017年云安全预测
查看>>
Python赋值混淆例题分析与三双单引号使用
查看>>
Linux基础知识
查看>>
学习的本质,不在于记住多少知识,而是它触发了你哪些思考
查看>>