博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Java多线程-57-工厂方法设计模式
阅读量:4302 次
发布时间:2019-05-27

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

这篇,我们来介绍工厂方法模式。工厂方法模式和前面的简单工厂模式区别就是,我们先定义一个Factory的接口,里面写一个createAnimal的方法。然后Dog就创建DogFactory工厂类,Cat就创建CatFactory工厂类。如果还有其他动物,就创建其他动物的工厂类。这样我们就不用去修改原始的Factory工厂类。这个应用,其实我们在做Selenium POM的时候用到了这种设计模式。

1.代码文件和结构

上面三个文件Animal.java和Dog.java和Cat.java代码没有改变。

Factory.java 接口内容

package samplefactory;public interface Factory {    public Animal createAnimal();}

DogFactory.java

package samplefactory;public class DogFactory implements Factory {	@Override	public Animal createAnimal() {		return new Dog();	}}

CatFactory.java

package samplefactory;public class CatFactory implements Factory {	@Override	public Animal createAnimal() {		return new Cat();	}}

Test.java

package samplefactory;public class Test {	public static void main(String[] args) {		DogFactory df = new DogFactory();		Dog d = (Dog) df.createAnimal();        d.eat();                CatFactory cf = new CatFactory();        Cat c = (Cat) cf.createAnimal();        c.eat();	}}

这种工厂方法设计模式,优缺点如下

优点:

客户端不需要再负责对象的创建,从而明确了各个类的职责,如果有新的对象增加,只需要增加一个具体的类和具体的工厂类即可,不影响已有的代码,
后期维护容易,增强了系统的扩展性。

缺点:

需要额外的编写代码,增加了工作量。

 

 

转载地址:http://tzows.baihongyu.com/

你可能感兴趣的文章
Swift code into Object-C 出现 ***-swift have not found this file 的问题
查看>>
为什么你的App介绍写得像一坨翔?
查看>>
RTImageAssets插件--@3x可自动生成@2x图片
查看>>
iOS开发的一些奇巧淫技
查看>>
常浏览的博客和网站
查看>>
Xcode 工程文件打开不出来, cannot be opened because the project file cannot be parsed.
查看>>
点击button实现Storyboard中TabBar Controller的tab切换
查看>>
Xcode 的正确打开方式——Debugging
查看>>
打包app出现的一个问题
查看>>
iOS在Xcode6中怎么创建OC category文件
查看>>
Expanding User-Defined Runtime Attributes in Xcode with Objective-C
查看>>
iOS7 UITabBar自定义选中图片显示为默认蓝色的Bug
查看>>
提升UITableView性能-复杂页面的优化
查看>>
25 iOS App Performance Tips & Tricks
查看>>
那些好用的iOS开发工具
查看>>
iOS最佳实践
查看>>
使用CFStringTransform将汉字转换为拼音
查看>>
更轻量的 View Controllers
查看>>
Chisel-LLDB命令插件,让调试更Easy
查看>>
时间格式化hh:mm:ss和HH:mm:ss区别
查看>>