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

上传人:asd****56 文档编号:93475365 上传时间:2023-07-06 格式:PPT 页数:39 大小:1.50MB
返回 下载 相关 举报
小窥设计模式-李博洋.ppt_第1页
第1页 / 共39页
小窥设计模式-李博洋.ppt_第2页
第2页 / 共39页
点击查看更多>>
资源描述

《小窥设计模式-李博洋.ppt》由会员分享,可在线阅读,更多相关《小窥设计模式-李博洋.ppt(39页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。

1、小窥设计模式分享时间:2013-1-22分享人:李博洋V1什么是面向对象(OO)现实世界理解与抽象的方法 实现对现实世界的模拟与数字建模 具有继承,多态和封装的特性多态的产生 父类引用指向子类对象 子类重写父类方法 父类引用调用子类重写的方法对象之间的关系 泛化(Generalization)一般用一个带空心箭头的实线表示泛化关系对象之间的关系 依赖(Dependency)一般用一条指向被依赖事物的虚线表示对象之间的关系 关联(Association)一般用实线连接有关联的同一个类或不同的两个类对象之间的关系 聚合(Aggregation)一般用带一个空心菱形(整体的一端-学校)的实线表示对象

2、之间的关系 组合(Composition)一般用带实心菱形(整体的一端)的实线来表示对象之间的关系 实现(Realization)一般用一条指向箭头的虚线表示什么是设计模式设计模式(Design pattern)是一套被反复使用、多数人知晓的、经过分类编目的、代码设计经验的总结。对有代表性问题的通常解决方案情景设计问题的重复性解决方案为什么会产生设计模式 需求变更永无休止 技术前进永无止境开闭原则 定义:一个软件实体如类,模块和函数应该对扩展开放,对修 改关闭里氏替换原则依赖倒置原则 定义:所有引用基类的地方必须能透明地使用其子类的对象 定义:高层模块不应该依赖低层模块,两者都应该依赖其抽象;

3、抽象不应该依赖细节;细节应该依赖抽象。单例模式 单例模式:确保某一个类在内存只有一个实例,而且自动 实例化并向整个系统提供这个实例。优点:a.减少内存开支b.减少性能开销c.避免对资源的多重占用 应用环境:a.全局共享数据b.创建一个对象需要消耗的资源过多单例模式V1实现单例模式并发问题延迟初始化实现单例模式 实现同步实现单例模式缩小加锁范围实现单例模式 双重检测工厂方法模式 工厂方法模式:定义一个创建产品对象的工厂接口,将实际创建产品工作推迟到子类。工厂方法模式(举例)工厂方法模式(举例)耦合度太高工厂方法模式(举例)耦合度太高优点:有效的封装变化,屏蔽具体产品类的具体实现。降低耦合度,减少

4、依赖模板模式 耦合度太高 模板模式:定义一个操作中算法的框架,而将一些步骤延迟到子类中。使得子类可以不改变一个算法的结构即可以重定义该算法的某些特定步骤。模板模式 耦合度太高模板模式(举例)耦合度太高 失 控模板模式 耦合度太高 失 控适配器模式 适配器模式:将一个类的接口转换成客户希望的另外一个接口,使原本由于接口不兼容不能一起工作的那些类可以一起工作 A C B A C B适配器模式(NBA举例)适配器模式(NBA举例)?优点:让两个没有任何关系的类在一起运行 提高了类的复用度 增加了类的透明度代理模式 代理模式:为其它对象提供一种代理以控制这个对象的访问权限。实现代理模式(接口)实现代理

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

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 应用文书 > 项目管理

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知得利文库网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号-8 |  经营许可证:黑B2-20190332号 |   黑公网安备:91230400333293403D

© 2020-2023 www.deliwenku.com 得利文库. All Rights Reserved 黑龙江转换宝科技有限公司 

黑龙江省互联网违法和不良信息举报
举报电话:0468-3380021 邮箱:hgswwxb@163.com