zoukankan      html  css  js  c++  java
  • 设计模式总结1---模式比较

    1.简单工厂模式----工厂模式-----抽象工厂模式

    工厂模式的特点就是把相同基类的一组类放在一起管理

    2.策略模式

    策略模式就是对于各种策略(算法)进行提取,把各种策略都提取在Strategy接口用,

    而客户端只需要使用某种策略就可以了。

    3.装饰模式

    把每个特定功能放在独立的类里面,并用类包装要装饰的对象。当需要执行特定的行为时,

    可以按照特定的顺序进行包装对象了。

    装饰模式就是提取各个功能类,通过装饰Decorate类,把各个功能类独立出来,从而可以是他们的顺序打乱。

    4.代理模式

    代理模式可以很好的剪切功能类的代码,是功能类对于客户端来说是透明的

    而且方便等价功能类之间的切换。

    5.原型模式

    原型模式就是多个产品类的实例有绝大多的相同属性,但是比不完全相同。

    使用原型模式就是把这些相同的属性提取出来

    6.模板方法

    模板方法就是抽象基类定义一些算法的骨架,而子类就去实现这些差别,就像做试卷一样,题目都是一样的,只有答案不一样。

    7.外观模式

    外观模式就是把功能类各种复杂的组合放在一起,由一个facade类组合起来,提供方法,屏蔽功能类和客户端类的交互

    最常见的做法就是,当要操作一个功能的时候,很多时候我们会提供一个engine类来封装该功能。

    8.建造者模式

    建造者模式抽象出建造过程,也就是建造过程是Director类控制,而具体实现由不用的builder来实现细节。

    9.观察者模式

    观察者模式抽象出对某个subject状态的监听而改变的过程。也就是说当subject status发生变化时,ISubject接口会通知注册的observer类。

    总结:设计模式目的是为了更好的实现面向对象的构架设计。

    各种设计模式的特点都是抽象出一些相同的元素:

    1.相同的过程,可以归结为method

    2.相同的基类:可以使用三个工厂方法

    3.相同的行为:算法不同,业务逻辑相同。可以使用策略模式和模板方法

    4.特定的行为和关系,但是顺序可以随机:装饰模式

    5.事物的属性相同:原型模式

    6.功能类对客户端的支持是固定的:外观模式

    7.事物的构建过程是相同的:建造者模式

    8.事物对于主题的状态变化做相同的响应:观察者模式

     

  • 相关阅读:
    Spring MVC(十六)--Spring MVC国际化实例
    Spring MVC(十五)--SpringMVC国际化配置项
    Spring MVC(十四)--SpringMVC验证表单
    Spring MVC(十三)--保存并获取属性参数
    Spring MVC(十二)--使用ModelView实现重定向
    Spring MVC(十一)--使用字符串实现重定向
    Spring MVC(十)--通过表单序列化传递参数
    Spring MVC(八)--控制器接受简单列表参数
    Spring MVC(七)--传递JSON参数
    接口限流算法总结
  • 原文地址:https://www.cnblogs.com/deman/p/4159327.html
Copyright © 2011-2022 走看看