【设计模式】——总览

来源:互联网 发布:4g逛淘宝用多少流量 编辑:程序博客网 时间:2024/04/30 23:49

       在了解完c#语言之后,开启了设计模式的学习。设计模式里充分展现了面向对象的封装,继承与多态。总共24中模式,各有各自的特色与自己独特的使用环境,面对具体的问题还需要具体的分析,活用这几种模式我们离大神就不远了!

  一:什么是设计模式?

   设计模式(Design pattern)是一套被反复使用、多数人知晓的、经过分类编目的、代码设计经验的总结.简单的说就是程序人员公认的规则,是在前人的基础之上总结的,应对目前面向对象程序设计的模板.

    我的理解:设计模式就像是写实验报告,虽然每一个实验都是不一样的,但是具体的格式是有的,每写一个实验都知道写实验目的,实验材料,实验步骤,实验结果与分析。具有一定的模式,往里面填东西就可以了。

  二:为什么使用设计模式?

    设计模式是为了可重用代码、让代码更容易被他人理解、保证代码可靠性。 毫无疑问,设计模式于己于他人于系统都是多赢的;设计模式使代码编制真正工程化;设计模式是软件工程的基石脉络,如同大厦的结构一样.作为一名聪明的程序员应该知道并且熟识.

 三:设计模式的内容

    设计模式主要根据类与对象的处理方式上分为了创建型设计模式,行为型设计模式,结构型设计模式

     

  

    创建模式:对类的实例化过程的抽象。一些系统在创建对象时,需要动态地决定怎样创建对象,创建哪些对象,以及如何组合和表示这些对象。创建模式描述了怎样构造和封装这些动态的决定。包含类的创建模式和对象的创建模式。

    结构模式:描述如何将类或对象结合在一起形成更大的结构。分为类的结构模式和对象的结构模式。类的结构模式使用继承把类,接口等组合在一起,以形成更大的结构。类的结构模式是静态的。对象的结构模式描述怎样把各种不同类型的对象组合在一起,以实现新的功能的方法。对象的结构模式是动态的。

    行为模式:对在不同的对象之间划分责任和算法的抽象化。不仅仅是关于类和对象的,并是关于他们之间的相互作用。类的行为模式使用继承关系在几个类之间分配行为。对象的行为模式则使用对象的聚合来分配行为。

    根据我对他们的理解和记忆的方式我分为了一下几种:

   

计模式分类

设计模式

定义

工厂姐妹花

简单工厂

一个工厂对象决定创建出哪一种产品类的实例

 

抽象工厂

创建了类的接口,接口不指定是哪个类

 

工厂方法

创建了类的接口,接口由子类决定

最强懒汉

模板模式

子类不改变算法结构重定义步骤

 

原型模式

原型实例创建对象种类,拷贝原型创建新对象。

 

享元模式

共享支持大量细粒度对象。

 

单例模式

类只有一个实例化

 

迭代器模式

提供一种方法顺序访问一个聚合对象中的各个元素,不暴露对象的内部表示

第三者

中介者模式

用一个中介对象封装一系列的对象交互。子类耦合松散

 

解释器模式

给定一个语言,定义一种表示,并用解释器解释语言中的句子。

 

代理模式

为其他对象提供一种代理控制对这个对象的访问。

整容大师

外观模式

子系统的一组接口提供一个一致的界面,定义了一个高层接口。

 

装饰模式

动态为对象添加一些额外的职责

 

适配器模式

将一个类的接口转换为另一个接口,使得原本不兼容而可以在一起工作。

精明商人

观察模式

定义一种一对多的依赖关系,让多个观察者对象同时监听所有的观察者对象,使他们能够自动更新自己。

 

策略模式

定义了子类,封装,相互替换,但不会影响子类的客户。

 

职责链模式

多个对象都有机会处理请求,从而避免发送者与接受者之间耦合关系,沿着链传递。

 

备忘录模式

不破坏封装性的前提下,

捕获一个对象内部的状态,在对象之外保存这个状态。


   设计模式是对于面向对象学习的深入与实践,面向对象有几个原则:开闭原则、里氏代换原则、依赖倒转原则、接口隔离原则、合成/聚合复用原则、最小知识原则也叫迪米特法则。设计模式实现了这些原则,使得我们的程序具有了维护性,复用性。

   

    

   


1 0
原创粉丝点击