Java设计模式学习三-----工厂模式
2024-09-07 17:28:31
工厂模式
工厂模式(Factory Pattern)是Java中最常用的设计模式之一。这种类型的设计模式属于创建型模式,它提供了一种创建对象的最佳方式。
在工厂模式中,创建对象时不会对客户端暴露创建逻辑,并且是通过使用一个共同的接口来指向新创建的对象。
工厂模式的思路:定义一个创建对象的接口,让其子类自己决定实例化哪一个工厂类,工厂模式使其创建过程延迟到子类进行。使用过程中做好接口选择。
优点:1、一个调用者向创建一个对象,只要知道名称就可以了。2、扩展性高,如果想增加一个产品,只要扩展一个工厂类就可以。3、屏蔽产品的具体实现,调用者值关心产品的接口。
缺点:每次增加产品时,都需要增加一个具体类和对象实现工厂,使得系统中类的个数成倍增加,在一定程度上增加了系统的复杂度,同时也增加了系统具体类的依赖。这并不是什么好事。
使用场景:1、日志记录器:记录可能记录到本地硬盘、系统事件、远程服务器等,用户可以选择记录日志到什么地方。
作为一种创建类模式,在任何需要生成复杂对象的地方,都可以使用工厂方法模式。复杂对象适合工厂模式,而简单对象,无需使用工厂模式。如果引入工厂模式,会增加系统的复杂度。
首先由一个工厂类的接口,然后是后边会用到的具体类,这些具体类需要继承这个接口,没有构造方法,再创建一个工厂类用于获取这些具体类的对象,这个工厂类的成员方法根据参数可以获取对应具体类的对象。创建过程就足够了,后期使用只需要哦创建工厂类的对象,就可以去创建具体类的对象了。
最新文章
- redirect问题
- 实时视频应用之QoS关键技术分析
- Oracle执行计划与统计信息的一些总结
- 高德地图3D版的使用方法
- oracle学习之bulk collect用法
- android 自定义组合控件 顶部导航栏
- 在Eclipse中查看JDK类库的源代码
- Codeforces Round #353 (Div. 2) D. Tree Construction (二分,stl_set)
- httpURLConnection-网络请求的两种方式-get请求和post请求
- 移动webAPP前端开发技巧汇总2
- 思路:controller层:后台如何取值 前端如何给name赋值 例如是id赋值还是自己随意定义
- caffe可重入单例机制分析
- __ATTR引发的编译错误【原创】
- sql server 中进行除法运算时,如何得到结果是小数形式呢?
- express package.json解析
- Dicom格式文件解析器[转]
- 12-5 张雨RTCM3数据解码解不出的原因
- JS 随机整数
- golang 性能测试pprof
- GO语言基础条件、跳转、Array和Slice