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

      首先这里先讲下复合模式的定义,复合模式结合两个或以上的模式,组成一个解决方案,解决一再发生的一般性问题。具体场景和例子这里就不介绍了。

      好了,现在让我们看下什么是模式。

        模式:是在某情境下,针对某问题的某种解决方案。

               情境就是应用某个模式的情况下,这应该是会不断出现的情况。

               问题就是你想在某情境下达到的目标,但也可以是某情境下的约束

               解决方案就是你所追求的,一个通用的设计,用了解决约束、达到目标。

      根据模式的目标可以将模式分成三个不同类目:创建型、行为型以及结构型

        创建型模式:涉及到将对象实例化,这类模式都提供一个方法,将客户从所需要实例化的对象中解耦。

        行为型模式:涉及到类与对象如何交换及分配职责。

        结构型:可以让你把类或对象组合到更大的结构中

      下面我们主要区分几个设计模式所属的类目。

        创建型:Abstract Factory、Factory Method、Singleton、

        结构型:Decorator、Composite、Proxy、Facade、Adapter

               行为型:State、Iterator、Observer、Strategy、Command、Template

      接着,让我们在总结下之前介绍的各个设计模式吧。

        装饰者:包装一个对象,以提供新的行为。

        状态   :封装了基于状态的行为,并使用委托在行为之间切换。

        迭代器:在对象的集合之中游走,而不暴露集合的实现。

        外观   :简化一群类的接口。

        策略   :封装可互换的行为,并使用委托来决定使用哪一个。

        代理   :包装对象,以控制对此对象的访问。

        工厂方法:由子类决定要创建的具体类是哪一个

        适配器:封装对象,并提供不同的接口。

        观察者:让对象能够在状态改变时被通知。

        模板方法:由子类决定如何实现一个算法的步骤。

        组合   :客户用一致的方式处理对象集合和单个对象。

        单例   :确保有且只有一个对象呗创建。  

        抽象工厂:允许客户创建对象的家族,而无需指定具体的类。

        命令   :封装请求成为对象。

      PS:说明下此系列未涉及的其他设计模式有:桥接、生成器、责任链、蝇量、解释器、中介者、备忘录、原型、访问者。有兴趣的可以去参考博客http://www.cnblogs.com/zuoxiaolong/category/509144.html的介绍。  

      

      End  by  设计模式

      

    作者:哀&RT
    出处:博客园哀&RT的技术博客--http://www.cnblogs.com/Tony-Anne/
    您的支持是对博主最大的鼓励,感谢您的认真阅读。
    本文版权归作者所有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
  • 相关阅读:
    [转载]Bat语法
    [转载]白手起家学习使用flex
    [转载]Highcharts结合Asp.net实现动态数据股票式图形显示实例
    [转]uploadify3.0详细使用说明
    转帖:UML实践用例图、顺序图、状态图、类图、包图、协作图
    [转]JQuery操作Table
    [转]Chrome developer tool介绍(javascript调试)
    [转载]C# 指针之美
    [转载]C# 温故而知新: 线程篇(二)
    [转载]Javascript定义类(class)的三种方法
  • 原文地址:https://www.cnblogs.com/Tony-Anne/p/6550117.html
Copyright © 2011-2022 走看看