SimpleFactory 简单工厂模式

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 条评论。

发表评论


注意 - 你可以用以下 HTML tags and attributes:
<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code class="" title="" data-url=""> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong> <pre class="" title="" data-url=""> <span class="" title="" data-url="">

使用新浪微博登陆