前言
简单工厂模式又叫静态工厂设计模式。通俗的讲,就是通过专门定义一个类来负责建立其他类的实例,与此同时被创建的类都必须满足他们有共同的父类,所以,它是一种创建型模式。
这里Leesin(盲僧)与Js(剑圣)继承Jungle(打野),而JungleFactory(打野生产工厂)产生具体打野对象
下面将以简单工厂创建他们,满足通过传入打野工厂不同的参数,产生不同的打野对象
打野接口
|
|
盲僧
|
|
剑圣
|
|
打野工厂
|
|
下面是测试类
|
|
当然,我们这里通过不同的参数,获得不同的打野英雄
当然这个例子也很好理解简单工厂
事实上,我们知道如果我们一开始用的是sql server数据库,然后我们想换数据库,如果不用工厂模式,那么将替换许多东西,如果这时,使用简单工厂模式,就会使问题变简单许多。
利用简单工厂模式大概思路就是先创建一个抽象数据库(DBobject),然后是具体实现类sql server与mysql类,然后再来一个生成数据库工厂(DBobjectFactory)通过传入不同的数据库参数,从而连接不同的数据库
至此我们发现,简单工厂的优点在于工厂类中包含了必要的逻辑判断,而且可以根据客户端的选择条件不同而动态的实例化相关的类
当然它的缺点也很明显,当我们创建的抽象实例过多时,显然高内聚就增多了,不利于维护了