几个工厂模式和门面模式
来源:互联网 发布:大气层消失 知乎 编辑:程序博客网 时间:2024/05/29 15:07
设计模式中最搞的就是简单工厂模式、抽象工厂模式、工厂方法·和门面模式
先看一下他们的定义吧:
简单工厂:
定义 :
提供一个创建对象实例的功能,而无需关心其具体实现。被创建实例的类型可以是接口、抽象类,也可以是具体的类。
结构与说明:
Api:定义客户需要的功能接口
Impl : 具体实现Api的实现类,可能有多个
Factory : 工厂,根据参数选择合适的实现类来创建Api接口对象
Client : 客户端,通过Factory获取Api接口对象,然后面向Api接口编程工厂方法:
定义 :
定义一个创建对象的接口,让子类决定实例化哪一个类,Factory Method使得一个类的实例化延迟到其子类
结构与说明:
Product:定义工厂方法所创建的对象的接口,也就是实际需要使用的对象的接口
ConcreteProduct : 具体的Product接口的实现对象
Creator : 创建器,申明工厂方法,工厂方法通常会返回一个Product类型的实例。
ConcreteCreator : 具体的创建器对象,覆盖工厂方法,返回具体的Product实例
这个设计模式是不是和spring的DI很像呢?(^&^)抽象工厂:
定义 :
提供一个创建一系列相关或相互依赖对象的接口,而无需制定他们具体的类
结构与说明:
AbstractFactory : 抽象工厂,定义创建一系列产品对象的操作的接口
ConcreteFactory : 具体的工厂,实现抽象工厂定义的方法,具体实现一系列产品对象的创建
AbstractProduct : 定义一类产品对象的接口
ConcreteProduct : 具体的产品对象
Client : 客户端,主要使用抽象工厂来获取一系列所需要的产品对象,然后面向这些产品接口编程,以实现所需要的功能。门面/外观模式:
定义 :
为子系统中的一组接口提供一个一致的界面,Facade模式定义了一个高层接口,这个接口使的这一子系统更加容易使用。
例子 :
邮局相当于一个门面或外观,具体的盖邮戳、运信、送信等一系列相关过程则无需关心;银行的窗口也是一个好例子,窗口提供了很多服务,但是每个服务只需要客户填写基本信息和身份认证,其他的详细关联业务操作则由窗口内的营业员来完成。通过门面模式,简化了客户端的操作
总结
通过上面的对比,相信各位应该很清楚明白了。
- 几个工厂模式和门面模式
- 设计模式(java) ------ 工厂模式+策略模式+门面模式
- 混合模式(工厂方法模式+策略模式+门面模式)
- 门面模式
- 门面模式
- 门面模式
- 门面模式
- 门面模式
- 门面模式
- 门面模式
- 门面模式
- 门面模式
- 门面模式
- 门面模式
- 门面模式
- 门面模式
- 门面模式
- 门面模式
- 蓝桥杯 花朵数 解题报告
- POJ2243 Knight moves (BFS求最短路)
- Scrum入门基础系列之产品列表梳理(需求梳理)
- HTML5 canvas 在线画笔绘图工具(一)
- 炫酷的Android 自定义动画效果Dialog 以及提示框Notification
- 几个工厂模式和门面模式
- 小马哥----高仿米4刷机, H69主板拆机图与开机识别图 H69LT H69ST H69W 等版本分别,刷机谨慎
- html+css实现京东换图片
- Hadoop-2.6.0集群搭建
- 配置struts2中的action由spring容器管理
- eclipse快捷键总结(持续更新)
- 6.HCNA-HNTD——ARP协议
- 使用多路径在Oracle Linux 6.5上搭建Oracle RAC 11.2.0.4
- 求职应聘C++复习小结