目录 [hide]
SimpleFactory 简单工厂模式
目录
[TOC]
1. 概述
1.1. Head First设计模式定义
简单工厂其实并不是一个设计模式,反而比较像一种编程习惯。
1.2. 自我理解
当一个框架或者服务有多个可以给操作者提供选择时,如果我们去 new 实例化这个具体类时,我们这个实用类就已经绑定了具体的类,从而导致我们的代码更加脆弱,缺乏弹性。当然,现在我们几乎所有的项目都会去使用Spring这个超级大工程去维护实例,如果自己开发一个框架,没有使用Spring这个超级大工厂,我们就可以使用简单工厂来辅助我们实例化具体的类。
1.3. 简单工厂的组成
工厂类角色:含有一定的商业逻辑和判断逻辑,用来创建产品。
抽象产品角色:它一般是具体产品继承的父类或者实现的接口。
具体产品角色:工厂类所创建的对象就是此角色的实例。
2. UML
3. Example
3.1. 场景
随着技术的发展,数据库选择也越来越多,MySQL、Oracle、内存数据库Redis、列式存储库HBASE、索引ElasticSearch等等。当我们还在在项目中直接去 new 实例化某一个库对象时,这对之后项目扩展及维护带来了很多不方便。那么我们可以通过工厂及配置文件决定实例化对应的数据库。
3.2. SimpleFactory设计模式的代码实现
原创文章,转载请注明: 转载自LoserZhao – 诗和远方[ http://www.loserzhao.com/ ]
本文链接地址: http://www.loserzhao.com/java/designpattern/simple-factory-designpattern.html
文章的脚注信息由WordPress的wp-posturl插件自动生成
0 条评论。