• 设计模式总结


    模式:
    主要的作用是实现代码的重复使用,而不是为了提高性能,模式不能保证性能得到优化。
     
    第一篇:
      创建模式:

    1)。简单工厂模式:
     
      使用条件(不是必须的)
    :所有的子类实现共同的接口。
    使用方法:客户端得到工厂(得到的方法有很多,比如JNDI,工厂的static方法,直接创建工厂等等)
    升级:增加新的子类,从原有的接口派生新的子类,当然也可以从原有的子类派生。
    工厂:1。直接修改工厂(次方法有时候不可取)
                2。从工厂派生新的工厂
    注意:工厂不一定是实类,可以是抽象类
    2)。抽象工厂模式:
      次模式进一步抽象了,定义抽象工厂和抽象接口
      用户可以扩张工厂和创建新的子类。
    一般的使用条件是存在多个产品簇的时候(多个子类接口)
    使用方法:用户创建具体工厂的,可以造型到抽象工厂类,
    其实和简单工厂相比:
      a.实现产品的簇化,也就是可以增加新的类别的产品接口,而不是增加某一个子类。
      b.将创建子类实例的工作交给抽象工厂的实现工厂了,可以认为对工厂的创建也采用简单工厂的设计模式。
      升级:基本可以参考简单工厂模式。
    3)。单一模式(有限模式)
      使用条件:控制实例的数量
      该类必须提供自己实例,允许其他的类访问该实例。
      使用的方法:一般不直接new,而访问该类的static变量或者方法。该模式很简单
      但是注意有2种创建方式:
      a.该类在载入的时候就创建该类的实例(俄汉模式):资源利用可能不好,但是响应的速度快
      b.在载入的时候不创建,只有有客户端需要该实例的时候才创建(懒汉模式):刚好和上面的相反
    4)。builder模式
      该模式和简单工厂模式很相似。
      但是该模式注重的时候复杂对象的创建,而不是象工厂模式那样注重:返回一系列相关的子类实例
      使用方法和简单工厂模式差不多。
    第二篇   结构模式
    1)。外观模式
      就是为一系列的类提供一个统一的接口
    为一个子系统提供一个供外部调用的统一接口,当要升级的时候,只要改变接口或者其实现就可以了。
    其实在工厂的创建模式里面;子类从接口派生的时候就采用了fascade模式
    使用方法:创建子类而返回共同的接口
      该模式比较简单
    2)。变压器模式
    使用条件:希望将不同的接口或者类联系起来的时候
    使用方法:实现变压器(一般是一个实类,实现或者继承目标,依赖或者实现源)
    当变压器继承目标类的时候称为实例变压器,此时如果要改变目标的话就得重新实现一个变压器
    当变压器实现目标接口的时候称为类变压器,此时如果改变目标接口可以事先让变压器实现多个接口目标
    在变压器处理方法中,可以接受源的共同的接口或者抽象类(采用外观模式),这样可以实现多个源于多个目标
    的对应。
    该文章经过本人整理所得,欢迎转载,转载时请加上本文地址;本文基于署名 2.5 中国大陆许可协议发布,请勿演绎或用于商业目的,但是必须保留本文的署名张志涛(包含链接如您有任何疑问或者授权方面的协商,请给我留言
  • 相关阅读:
    字符串拆分成泛型列表
    第一次写博客
    获取最长的增长列表
    oracle 一些小资料
    XML 序列化出错
    Redis学习(一)
    SQL和NoSQL的区别
    SpringBoot中文乱码解决方法
    从visual studio 2012生成预处理代码&汇编码
    近期流水账
  • 原文地址:https://www.cnblogs.com/zhangzt/p/1788092.html
Copyright © 2020-2023  润新知