`

简单工厂——研磨设计模式——跟着cc学设计系列

 
阅读更多


本节课程概览
学习简单工厂
一:初识简单工厂
包括:定义、结构、参考实现
二:体会简单工厂
包括:场景问题、不用模式的解决方案、使用模式的解决方案
三:理解简单工厂
包括:典型疑问、认识简单工厂、简单工厂中方法的写法、
           可配置的简单工厂、简单工厂的优缺点
四:思考简单工厂
包括:简单工厂的本质、何时选用
 
提前申明
简单工厂不是一个标准的设计模式
简单工厂非常常用,简单而又神奇,所以还是需要好好掌握
可以当成是对学习设计模式的热身运动
 
初识简单工厂
定义
提供一个创建对象实例的功能,而无须关心其具体实现。被创建实例的类型可以是接口、抽象类,也可以是具体的类。
结构和说明
  Api:定义客户所需要的功能接口
  Impl:具体实现Api的实现类,可能会有多个
  Factory:工厂,选择合适的实现类来创建Api接口对象
  Client:客户端,通过Factory去获取Api接口对象,然后面向Api接口编程
 
体会简单工厂
接口回顾
1:Java中接口的概念
在Java中接口是一种特殊的抽象类
2:接口用来干什么
通常用接口来定义实现类的外观,就相当于一份契约,根据外部应用需要的功能,约定了实现类应该要实现的功能
3:接口的思想 ——“封装隔离”
4:使用接口的好处
只要接口不变,内部实现的变化就不会影响到外部应用,从而使得系统更灵活,具有更好的扩展性和可维护性 
5:接口和抽象类的选择
(1)优先选用接口
(2)在如下情况选抽象类:既要定义子类的行为,又要为子类提供公共的功能
 
面向接口编程
面向接口编程是Java编程中的一个重要原则。在Java 程序设计里面,非常讲究层的划分和模块的划分。 比如常见的三层结构:
  
 
在一个层内部的各个模块交互也要通过接口
不管是一层还是一个模块或者一个组件,都是一个被接口隔离的整体
  
问题
既然在Java中需要面向接口编程,那么在程序中到底如何使用接口,来做到真正的面向接口编程呢?
 
不用模式的解决方案
有何问题?
把这个问题描述一下:在Java编程中,出现只知接口而不知实现,该怎么办?
 
使用模式的解决方案 
理解简单工厂
一个典型的疑问
首先来解决一个常见的疑问:可能有朋友会认为,上面示例中的简单工厂看起来不就是把客户端里面的“new Impl()”移动到简单工厂里面吗?不还是一样通过new一个实现类来得到接口吗?把“new Impl()”这句话放到客户端和放到简单工厂里面有什么不同吗?
理解这个问题的重点就在于理解简单工厂所处的位置。
  
认识简单工厂
1:简单工厂的功能
可以用来创建的接口、抽象类或者是普通类的实例
 
2:静态工厂
通常把简单工厂类实现成一个工具类,直接使用静态方法就可以了,也就是说简单工厂的方法通常都是静态的,所以也被称为静态工厂
 
3:万能工厂
一个简单工厂理论上可以用来构造任何对象,所以又称之为“万能工厂”
 
4:简单工厂创建对象的范围
建议控制在一个独立的组件级别或者一个模块级别
 
5:简单工厂的调用顺序示意图
 
6:简单工厂命名的建议
(1)类名建议为“模块名称+Factory”,比如:用户模块的工厂就称为:UserFactory
(2)方法名称通常为“get+接口名称”或者是“create+接口名称”
(3)不建议把方法名称命名为“new+接口名称” 
 

配套视频课程:【  http://sishuok.com/product/501
私塾在线学习网原创内容,转载请注明【http://sishuok.com/forum/blogPost/list/0/5670.html
 
12
12
分享到:
评论
6 楼 glorysongglory 2012-09-07  
5 楼 942bc 2012-09-04  
美女程序员
4 楼 ericchan2012 2012-08-23  
靠,这也行?
3 楼 tamsiuloong 2012-08-23  
哎哟 还不错哦
2 楼 jenmhdn 2012-08-23  
syi6 写道
 

谢谢
1 楼 syi6 2012-08-23  
 

相关推荐

    研磨设计模式源码

    3. **抽象工厂模式**:提供一个创建一系列相关或相互依赖对象的接口,而无需指定其具体类。在源码中可能会有一个AbstractFactory类,以及与之相关的多个具体工厂类。 4. **建造者模式**:将复杂对象的构建与其表示...

    X-gen PPT下载——《研磨设计模式》 实战

    《研磨设计模式》实战是IT领域中关于软件设计的一份重要资料,它主要探讨了设计模式在实际项目中的应用。设计模式是软件工程中经过长期实践总结出的通用问题解决方案,是解决常见设计问题的经验总结。这份PPT可能是...

    研磨设计模式(完整带书签).part2.pdf

    第7章 抽象工厂模式(Abstract Factory) 第8章 生成器模式(Builder) 第9章 原型模式(Prototype) 第10章 中介者模式(Mediator) 第11章 代理模式(Proxy) 第12章 观察者模式(Observer) 第13章 命令模式...

    研磨设计模式带书签完整版228M.7z.001

    《研磨设计模式》完整覆盖GoF讲述的23个设计模式并加以细细研磨。初级内容从基本讲起,包括每个模式的定义、功能、思路、结构、基本实现、运行调用顺序、基本应用示例等,让读者能系统、完整、准确地掌握每个模式,...

    研磨设计模式 完美书签 完整(一)

    《研磨设计模式》完整覆盖GoF讲述的23个设计模式并加以细细研磨。初级内容从基本讲起,包括每个模式的定义、功能、思路、结构、基本实现、运行调用顺序、基本应用示例等,让读者能系统、完整、准确地掌握每个模式,...

    研磨设计模式PDF

    1. 创建型模式(Creational Patterns):主要处理对象的创建,如单例模式(Singleton)、工厂模式(Factory Method)、抽象工厂模式(Abstract Factory)、建造者模式(Builder)和原型模式(Prototype)。...

    研磨设计模式视频课程PPT

    内容概述:本视频课程是北京Java私塾原创精品书籍《研磨设计模式》一书的配套学习视频,由《研磨设计模式》的第一作者CC录制 课程目标:全面、系统的掌握GoF设计模式的知识,达到可以在实际项目开发中运用的能力 ...

    研磨设计模式[书签]

    创建型模式主要关注对象的创建过程,如单例模式、工厂方法模式和抽象工厂模式等,它们能够在不同的情况下提供合适的对象创建方式,降低代码之间的耦合度。结构型模式关注如何组合类和对象以实现更复杂的设计,如...

    研磨设计模式带书签完整版228M.7z.002

    《研磨设计模式》完整覆盖GoF讲述的23个设计模式并加以细细研磨。初级内容从基本讲起,包括每个模式的定义、功能、思路、结构、基本实现、运行调用顺序、基本应用示例等,让读者能系统、完整、准确地掌握每个模式,...

    研磨设计模式-陈臣.epub

    “1.1 设计模式是什么 1.1.1 什么是模式 从字面上理解,模,就是模型、模板的意思;式,就是方式、方法的意思。综合起来,所谓模式就是:可以作为模型或模板的方式或方法。... “研磨设计模式”。 iBooks.

    研磨设计模式全部源代码

    1. 工厂模式:这是最简单的创建型设计模式,它提供了一种创建对象的最佳方式。工厂模式通过创建一个工厂类来生产特定类型的对象,而不是直接实例化对象,这样可以使代码更具灵活性。 2. 单例模式:这种模式确保一个...

    研磨设计模式高清完整版(1)

    《研磨设计模式》完整覆盖GoF讲述的23个设计模式并加以细细研磨。初级内容从基本讲起,包括每个模式的定义、功能、思路、结构、基本实现、运行调用顺序、基本应用示例等,让读者能系统、完整、准确地掌握每个模式,...

    研磨设计模式 源代码

    源代码中可能会有`FactoryPattern`目录,包含简单工厂、工厂方法和抽象工厂模式的实现。 3. **观察者模式**(Observer):定义对象间的一对多依赖关系,当一个对象的状态发生改变时,所有依赖于它的对象都会得到...

    研磨设计模式博文集

    1. **创建型模式**:这类模式主要关注对象的创建过程,如单例模式(Singleton)、工厂方法模式(Factory Method)、抽象工厂模式(Abstract Factory)、建造者模式(Builder)和原型模式(Prototype)。它们提供了...

    研磨设计模式讲课PPT

    3. **抽象工厂模式**:提供一个创建一系列相关或相互依赖对象的接口,而无需指定它们的具体类。这在需要跨平台或者需要一组相关的对象时特别有用。 4. **建造者模式**:将复杂对象的构建与其表示分离,使得同样的...

    研磨设计模式.rar

    《研磨设计模式》这本书是软件开发领域中的经典之作,主要关注的是面向对象设计中的设计模式。设计模式是在特定上下文中解决常见问题的最佳实践,它为开发者提供了在类似情况下重复使用解决方案的模板,有助于提高...

    研磨设计模式(完整版pdf) part1 (1-3)

    研磨设计模式(完整版pdf)相信我不用介绍,很多人都在找这本书吧,今天我特意从另外的地方下载到了这本书,发了几十积分。才弄到。为了让大家同时分享这本书的精华。我今天特意上传。注:此电子书较大,我分了3个...

    研磨设计模式带书签完整版228M.7z.003

    研磨设计模式《研磨设计模式》完整覆盖GoF讲述的23个设计模式并加以细细研磨。初级内容从基本讲起,包括每个模式的定义、功能、思路、结构、基本实现、运行调用顺序、基本应用示例等,让读者能系统、完整、准确地...

    研磨设计模式-陈臣.王斌.扫描高清版PDF

    设计模式(Design Pattern)是一套被反复使用、多数人知晓的、经过分类的、代码设计经验的总结。 使用设计模式的目的:为了代码可重用性、让代码更容易被他人理解、保证代码可靠性。 设计模式使代码编写真正工程化;...

    研磨设计模式-陈臣pdf

    《研磨设计模式》完整覆盖GoF讲述的23个设计模式并加以细细研磨。初级内容从基本讲起,包括每个模式的定义、功能、思路、结构、基本实现、运行调用顺序、基本应用示例等,让读者能系统、完整、准确地掌握每个模式,...

Global site tag (gtag.js) - Google Analytics