好文档就是一把金锄头!
欢迎来到金锄头文库![会员中心]
电子文档交易市场
安卓APP | ios版本
电子文档交易市场
安卓APP | ios版本

小窥设计模式-李博洋.ppt

39页
  • 卖家[上传人]:油条
  • 文档编号:47689060
  • 上传时间:2018-07-04
  • 文档格式:PPT
  • 文档大小:1.50MB
  • / 39 举报 版权申诉 马上下载
  • 文本预览
  • 下载提示
  • 常见问题
    • 小窥设计模式分享时间: 2013-1-22分享人: 李博洋V1什么是面向对象(OO)• 现实世界理解与抽象的方法• 实现对现实世界的模拟与数字建模• 具有继承,多态和封装的特性多态的产生•父类引用指向子类对象•子类重写父类方法•父类引用调用子类重写的方法对象之间的关系• 泛化(Generalization)一般用一个带空心箭头的实线表示泛化关系对象之间的关系• 依赖(Dependency)一般用一条指向被依赖事物的虚线表示对象之间的关系• 关联(Association)一般用实线连接有关联的同一个类或不同的两个类对象之间的关系• 聚合(Aggregation)一般用带一个空心菱形(整体的一端-学校)的实线表示对象之间的关系• 组合(Composition)一般用带实心菱形(整体的一端)的实线来表示对象之间的关系• 实现(Realization)一般用一条指向箭头的虚线表示什么是设计模式设计模式(Design pattern)是一套被反复使用、多数人知晓的、 经过分类编目的、代码设计经验的总结•对有代表性问题的通常解决方案 •情景设计问题的重复性解决方案为什么会产生设计模式• 需求变更永无休止 • 技术前进永无止境开闭原则• 定义:一个软件实体如类,模块和函数应该对扩展开放,对修 改关闭里氏替换原则依赖倒置原则• 定义:所有引用基类的地方必须能透明地使用其子类的对象• 定义:高层模块不应该依赖低层模块,两者都应该依赖其抽象 ;抽象不应该依赖细节;细节应该依赖抽象。

      单例模式• 单例模式:确保某一个类在内存只有一个实例,而且自动 实例化并向整个系统提供这个实例• 优点:a.减少内存开支b.减少性能开销c.避免对资源的多重占用• 应用环境:a.全局共享数据b.创建一个对象需要消耗的资源过多单例模式V1实现单例模式并发问题延迟初始化实现单例模式实现同步实现单例模式缩小加锁范围实现单例模式双重检测工厂方法模式• 工厂方法模式:定义一个创建产品对象的工厂接口,将实际 创建产品工作推迟到子类工厂方法模式(举例)工厂方法模式(举例)耦合度太高工厂方法模式(举例)耦合度太高优点: •有效的封装变化,屏蔽具体产品类 的具体实现 •降低耦合度,减少依赖模板模式耦合度太高• 模板模式:定义一个操作中算法的框架,而将一些步骤延迟 到子类中使得子类可以不改变一个算法的结构即可以重定 义该算法的某些特定步骤模板模式耦合度太高模板模式(举例)耦合度太高失 控模板模式耦合度太高失 控适配器模式• 适配器模式:将一个类的接口转换成客户希望的另外一个接 口,使原本由于接口不兼容不能一起工作的那些类可以一起 工作A CBA CB适配器模式(NBA举例)适配器模式(NBA举例)?优点: •让两个没有任何关系的类在 一起运行 •提高了类的复用度 •增加了类的透明度代理模式• 代理模式:为其它对象提供一种代理以控制这个对象的访问 权限。

      实现代理模式(接口)实现代理模式(继承)代理模式应用举例• 如何将一个线程非安全的类通过代理模式变成线程安全的类策略模式• 策略模式:定义一组算法,将每个算法都封装起来,并使他 们之间可以互相交换策略模式(实现)策略模式(举例)• 用策略模式实现计算器优点: •算法可以自由切换 •避免使用多重条件判断 •扩展性良好AOPAOP:面向切面编程(也叫面向方面),可以通过预编译方式 和运行期动态代理实现在不修改源代码的情况下给程序动态统 一添加功能的一种技术AOP实际是GoF设计模式的延续几个概念•通知(Advice):通知定义了增加的功能是什么,以及何时调用这些功能•连接点(Joinpoint):程序能够应用通知的一个“时机” 可以是方法前,方法后,方法的前和 后,或是抛出异常的时候•切入点(Pointcut) :定义了在“何地”织入通知可利用正则表达式定义•切面(Aspect) :是通知和切入点的集合通知和切入点共同定义了切面的全部内容——它的功 能,在何时和何地完成其功能•织入(Weaving):把切面应用到目标对象产生新的代理对象的过程。

      Joinpoints程序执行AdvicePointcut框架•两种AOP框架1. Aspectj:编译时增强2. Spring AOP:运行时增强AOP应用1.日志管理2.事务管理3.异常管理谢谢!Q&A。

      点击阅读更多内容
      关于金锄头网 - 版权申诉 - 免责声明 - 诚邀英才 - 联系我们
      手机版 | 川公网安备 51140202000112号 | 经营许可证(蜀ICP备13022795号)
      ©2008-2016 by Sichuan Goldhoe Inc. All Rights Reserved.