zoukankan      html  css  js  c++  java
  • Java设计模式总结

    为接下来的实习笔试、面试做准备~~~

    之前看过一遍head first的设计模式,发现现在又忘了差不多。

    常见模式分类:

    主要模式的定义和描述:

    打算重点去看一下简单工厂模式、工厂方法模式、抽象工厂模式、单例模式、适配器模式、装饰模式、代理模式、迭代子模式。

    1、工厂方法模式

     类型:创建模式

     定义一个用于创建对象的接口,让其子类来决定实例化哪一个类(产品),工厂方法使一个类的创建延迟到其子类中。

     参考:http://java.chinaitlab.com/model/768962.html

     工厂方法模式和简单工厂模式区别:

      工厂方法模式与简单工厂模式再结构上的不同不是很明显。工厂方法类的核心是一个抽象工厂类,而简单工厂模式把核心放在一个具体类上。

      工厂方法模式之所以有一个别名叫多态性工厂模式是因为具体工厂类都有共同的接口,或者有共同的抽象父类。

      当系统扩展需要添加新的产品对象时,仅仅需要添加一个具体对象以及一个具体工厂对象,原有工厂对象不需要进行任何修改,也不需要修改客户端,很好的符合了"开放-封闭"原则。而简单工厂模式在添加新产品对象后不得不修改工厂方法,扩展性不好。

      工厂方法模式退化后可以演变成简单工厂模式。

    2、抽象工厂模式

    类型:创建模式

    抽象工厂模式可以向客户端提供一个接口,使得客户端在不必指定产品具体类型的情况下,创建多个产品族中的产品对象。

    参考:http://lavasoft.blog.51cto.com/62575/11674

    3、适配器模式

    类型:结构模式

    将一个类的接口转换成客户希望的另外一个接口。Adapter模式使得原本由于接口不兼容而不能一起工作的那些类可以一起工作。

    参考:http://lavasoft.blog.51cto.com/62575/90767

    4、装饰模式

    类型:结构模式

    装饰模式(Decorator)的定义:又名包装(Wrapper)模式,装饰模式以对客户端透明的方式扩展对象的功能,是继承关系的一个替代方案。

    参考:http://xubindehao.iteye.com/blog/474636

    本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利.
    分享到: 更多
  • 相关阅读:
    CF980E The Number Games
    UVALive 2995 Image Is Everything
    CF1148F Foo Fighters
    CF22E Scheme
    CF1045G AI robots
    学习笔记 并查集维护区间删除
    HEOI 十二省联考退役记
    立方网面试题总结
    Django学习排错备注
    追求卓越之旅(转)
  • 原文地址:https://www.cnblogs.com/flyoung2008/p/2420139.html
Copyright © 2011-2022 走看看