




已阅读5页,还剩17页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
计算机学院软件工程系 设计模式 授课 张金荣Email zhjr2000 zhjr QQ zhjr 即1211460305 电话GoF 创建型模式 第3章 3 1SimpleFactoryPattern 简单工厂模式 3 2FactoryMethodPattern 工厂方法模式 3 3AbstractFactoryPattern 抽象工厂模式 3 4BuilderPattern 建造者模式 3 5PrototypePattern 原型模式 3 6SingletonPattern 单例模式 目录 GoF 创建型模式 第3章 FactoryPattern 工厂模式 SingletonPattern 单例模式 本章重点 本章难点 BuilderPattern 建造者模式 AbstractFactoryPattern 抽象工厂模式 3 6SingletonPattern 单例模式 如何创建一个对象 newMyObject 要使用new必须要求什么 3 6SingletonPattern 单例模式 能否多次实例化一个类取决于 所以 那么究竟如何生产单例 3 6SingletonPattern 单例模式 想一想static关键字的使用 3 6SingletonPattern 单例模式 3 6SingletonPattern 单例模式 3 6SingletonPattern 单例模式 3 6SingletonPattern 单例模式 上面的经典的单例模式完美吗 在涉及多线程时会出问题 如何纠正 请仔细看书89 91页 3 6SingletonPattern 单例模式 importjava util ClassSingleton privatestaticSingletoninstance 注意采用PrivateprivateSingleton publicstaticSingletongetInstance if instance null 1Instance newSingleton 2returninstance 3 如果两个线程同时调用该代码块 如何 3 6SingletonPattern 单例模式 解决方法 加代码同步处理 J2SESDK中的线程同步使用同步方法Java中同步比较简单 因为所有对象都有它们与之对应的隐式管程 进入某一对象的管程 就是调用被synchronized关键字修饰的方法 当一个线程在一个同步方法内部时 所有试图调用该方法的其他线程必须等待 为了退出管程 并将对象的控制权交给其他等待的线程 拥有管程的线程仅需从同步方法中返回 方法 在方法前加synchronized关键字 3 6SingletonPattern 单例模式 使用同步语句 尽管在创建的类的内部创建同步方法是获得同步的简单和有效方法 但它并非在任何时候都有效 假设想获得不为多线程访问设计的类对象的同步访问 该类没有用到synchronized方法 而且该类不是我们自己设计的 而是第三方创建的 不能获得它的源代码 就不能在相关方法前加synchronieze修饰符 如下 Synchronzed object 同步的语旬 3 6SingletonPattern 单例模式 同步方法 publicsynchronizedstaticSingletongetInstance if instance null 1Instance newSingleton 2returninstance 3 3 6SingletonPattern 单例模式 同步语句 publicstaticSingletongetInstance synchronized Singleton class if instance null Instance newSingleton returninstance 3 6SingletonPattern 单例模式 上面两种方法有什么性能上的优劣 第二种方法需要改进吗 有其他方式解决这个问题吗 3 6SingletonPattern 单例模式 publicstaticSingletongetInstance if instance null synchronized Singleton class if instance null instance newSingleton returninstance 第二种方法的改进 饿汉式单态类 importjava util classSingleton privatestaticSingletoninstance newSingleton privateSingleton publicstaticSingletongetInstance returninstance 这种方式有什么缺陷吗 两种单态类的比较 饿汉式单态类在自己被加载时就将自己实例化 单从资源利用效率角度来讲 这是比懒汉式单态类稍差些 从速度和反应时间角度来讲 则比懒汉式单态类稍好些 懒汉式单态类在实例化时必须处理好在多个线程同时首次引用此类时 实例化函数内部关键段的访问限制问题 创建型模式抽象了实例化过程 它们帮助一个系统独立于如何创建 组合和表示它的那些对象 一个类创建型模式使用继承改变被实例化的类 一个对象创建型模式将实例化委托给另一个对象 第3章 小结 在这些模式中有两个不断出现的主旋律 第一 它们都将关于该系统使用哪些具体的类的信息封装起来 第二 它们隐藏了这些类的实例是如何被创建和放在一起的 整个系统关于这些对象所知道的是由抽象类所定义的接口 因此 创建型模式在什么被创建 谁创
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 语音识别试题及答案
- 阿里定级面试题及答案
- 房地产销售策略与实战
- 2025年 道真自治县“特岗计划”教师招聘考试笔试试卷附答案
- 员工安全培训手册
- 2025年中国喷气背包行业市场全景分析及前景机遇研判报告
- 2025年中国内衣裤洗衣机行业市场全景分析及前景机遇研判报告
- 急救培训圆满毕业
- 住院患者护理风险评估制度
- 肿瘤晚期患者教育
- GB 20664-2006有色金属矿产品的天然放射性限值
- 化工原理课程设Word版
- 抖音精准圈层种草
- 高考英语书面表达全国卷评分标准
- 店面运营手册(店面布置与陈列)
- 装修申请书模板
- 四川水电站建设用地地质灾害危险性评估报告
- 建筑电气设计技术规程
- 公开招标招标文件范本
- (完整版)OEE记录表格(设备综合效率)
- 智慧燃气安全监管平台解决方案
评论
0/150
提交评论