java+架构系列培训课程 09 设计模式new

java+架构系列培训课程 09 设计模式new

ID:34441302

大小:1.77 MB

页数:70页

时间:2019-03-06

java+架构系列培训课程 09 设计模式new_第1页
java+架构系列培训课程 09 设计模式new_第2页
java+架构系列培训课程 09 设计模式new_第3页
java+架构系列培训课程 09 设计模式new_第4页
java+架构系列培训课程 09 设计模式new_第5页
资源描述:

《java+架构系列培训课程 09 设计模式new》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、设计模式薛安振分类分类创建型创建型模式•创建型模式的目的–使系统独立于如何创建、组合和表示对象。–隐藏了这些类的实例是如何被创建和放在一起的AbstractFactoryBuilderFactoryMethodPrototypeSingleton创建型模式•AbstractFactory(数据库的替换)–意图•提供一个创建一系列相关或相互依赖对象的接口,而无需指定它们具体的类。–适用性•一个系统要独立于它的产品的创建、组合和表示时。•一个系统要用多个产品系列中的一个来配置时。•要强调一系列相关的产品对象的设计

2、以便进行联合使用时。•提供一个产品类库,而只想显示它们的接口而不是实现时。AbstractFactory模式的结构创建型模式•AbstractFactoryFactoryMethod(运算)•意图–定义一个用于创建对象的接口,让子类决定实例化哪一个类。FactoryMethod使一个类的实例化延迟到其子类。•当系统扩展需要添加新的产品对象时,仅仅需要添加一个具体对象以及一个具体工厂对象,原有工厂对象不需要进行任何修改,也不需要修改客户端,很好的符合了“开放-封闭”原则创建型模式•Builder(建造小人)–意

3、图•将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示。–适用性•当创建复杂对象的算法应该独立于该对象的组成部分以及它们的装配方式时。•当构造过程必须允许被构造的对象有不同的表示时。效果可以改变一个产品的内部表示。将构造代码和表示代码分开。可以对构造过程进行更精细的控制。创建型模式•Prototype(简历复印)–意图:用原型实例指定创建对象的种类,并且通过拷贝这些原型创建新的对象。创建型模式•Prototype(原型)–效果•可在运行时刻增加和删除产品。•可以通过改变值来指定新产品。•

4、可以通过改变结构来指定新对象。–实现•减少了子类的构造。•使用一个原型管理器;•可以用类动态配置应用。•实现克隆操作(浅拷贝和深拷贝);•初始化克隆对象;创建型模式•Singleton(打印机)–意图•保证一个类仅有一个实例,并提供一个访问它的全局访问点。–适用性•在一个系统要求一个类只有一个实例时才应当使用单例模式创建型模式•Singleton结构型结构型模式•结构型模式的目的–结构型模式涉及到如何组合类和对象以获得更大的结构。AdapterBridgeCompositeDecoratorFacadeFly

5、weightProxy结构型模式•Adapter(NBA翻译)–意图•将一个类的接口转换成客户希望的另外一个接口,使得原本由于接口不兼容而不能一起工作的那些类可以一起工作。–适用性•你想使用一个已经存在的类,而它的接口不符合你的需求。•你想创建一个可以复用的类,该类可以与其他不相关的类或不可预见的类(即那些接口可能不一定兼容的类)协同工作。•(仅适用于对象Adapter)你想使用一些已经存在的子类,但是不可能对每一个都进行子类化以匹配它们的接口。对象适配器可以适配它的父类接口。结构型模式•Adapter结构型

6、模式•Bridge(手机软件)–意图•将抽象部分与它的实现部分分离,使它们都可以独立地变化。–适用性•不希望在抽象和它的实现部分之间有一个固定的绑定关系。•类的抽象以及它的实现都应该可以通过生成子类的方法加以扩充。•对一个抽象的实现部分的修改应对客户不产生影响,即客户的代码不必重新编译。–效果•分离了接口及其实现部分。提高了可扩充性。实现了细节对客户透明。结构型模式•Bridge(桥接)结构型模式•Composite(公司与分公司)–意图•将对象组合成树形结构以表示“部分-整体”的层次结构。Composite

7、使得用户对单个对象和组合对象的使用具有一致性。–适用性•你想表示对象的部分-整体层次结构。•你希望用户忽略组合对象与单个对象的不同,用户将统一地使用组合结构中的所有对象。结构型模式•Composite(组合)结构型模式•Decorator(小菜扮靓)–意图•动态地给一个对象添加一些额外的职责。就增加功能来说,Decorator模式相比生成子类更为灵活。–适用性•在不影响其他对象的情况下,以动态、透明的方式给单个对象添加职责。•处理那些可以撤消的职责。•当不能采用生成子类的方法进行扩充时。一种情况是,可能有大量

8、独立的扩展,为支持每一种组合将产生大量的子类,使得子类数目呈爆炸性增长。另一种情况可能是因为类定义被隐藏,或类定义不能用于生成子类。结构型模式•Decorator(装饰)结构型模式•Decorator(装饰)结构型模式•Facade(投资基金)–意图•为子系统中的一组接口提供一个一致的界面,Facade模式定义了一个高层接口,这个接口使得这一子系统更加容易使用。–适用性•为一个复杂子系统提供一个简单

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。