您好,欢迎来到三六零分类信息网!老站,搜索引擎当天收录,欢迎发信息
三六零分类信息网 > 张家界分类信息网,免费分类信息发布

设计模式之简单工厂

2025/8/2 12:17:51发布3次查看
设计模式既上一篇关于单例模式后,终于要接着写下去了,先来个最简单的,简单工厂模式,这个设计模式很简单,也是最常用的(是不是好多东西都这样,越简单,门槛越低,越讨人喜欢)。
概念(原谅我无耻的抄百度百科):
      简单工厂模式是属于创建型模式,又叫做静态工厂方法(static factory method)模式,但不属于23种gof设计模式之一。简单工厂模式是由一个工厂对象决定创建出哪一种产品类的实例。简单工厂模式是工厂模式家族中最简单实用的模式,可以理解为是不同工厂模式的一个特殊实现。
     这里说的很清楚,一个工厂n多对象,这就是简单工厂的实质,具体的uml类图如下
先安利下processon这个在线的工具, 这是我的邀请链接,当然你如果需要画很多图,请花钱支持他们。
来解释下这个类图,三部分组成,一是creator,是工厂类,二是iproduct接口,三是具体的产品a和b。
具体的代码如下
产品接口:
public interface iproduct {void meathod(); }
具体产品:
public class producta implements iproduct {public void meathod() {         system.out.printf(产品a);     } }
public class productb implements iproduct {public void meathod() {         system.out.printf(产品b);     } }
工厂:
public class creator {public static iproduct createproduct(string productname) {if (null == productname) {return null;         } else if (a.equals(productname)) {return new producta();         } else if (b.equals(productname)) {return new productb();         }return null;     }public static void main(string[] args) {         iproduct producta = creator.createproduct(a);         producta.meathod();         iproduct productb = creator.createproduct(b);         productb.meathod();     } }
输出: 产品a产品b
具体实例:
这样简单的模式是比较常用的,拿我们的项目来说,我们做的产品采用多个合作方的各种接口,其中大部分接口都是相同的只是再具体的字段和细节不一样而已,例如去申请授信都是一些个人隐私信息,各家要的大体相同,只是个别的信息不同而已,这样就很适合工厂模式。
优缺点:
优点:解耦,帮助封装。
缺点:增加客户端复杂度,不利于扩展子工厂
其实简单工厂模式的本质就是选择实现。
这个简单的就说这和么多吧。
以上就是设计模式之简单工厂的详细内容。
张家界分类信息网,免费分类信息发布

VIP推荐

免费发布信息,免费发布B2B信息网站平台 - 三六零分类信息网 沪ICP备09012988号-2
企业名录 Product