设计模式的简单理解

来源:互联网 发布:mac brave试色 编辑:程序博客网 时间:2024/05/09 11:38

    这篇文章只是想简单的论述一下设计模式与面向对象设计模式的关系,来帮助大家简单的理解一下设计模式。

 

    首先我们来了解两个定义:

         1.设计模式描述了软件设计过程中某一类常见问题的一般性的解决方案。

         2.面向对象设计模式描述了面向对象设计过程中、特定场景下、类与相互通信的对象之间常见的组织关系。

    从定义中可以看出,设计模式针对的是软件设计过程,而面向对象设计模式的前提是利用面对对象设计的软件。

所以,虽然我们通常所说的设计模式隐含地表示“面向对象设计模式”。但这并不意味“设计模式”就等于“面向

对象设计模式”,更不意味着GOF

 

    也就是说除了“面向对象设计模式”外,还有其他设计模式。除了GoF 23种设计模式外,还有更多的面向对象

设计模式。

 

设计模式与面向对象

 

面向对象设计模式解决的是“类与相互通信的对象之间的组织关系,包括它们的角色、职责、协作方式几个方面。

 

面向对象设计模式是“好的面向对象设计”,所谓“好的面向对象设计”是那些可以满足应对变化,提高复

用”的设计。也就是可以更好的满足人们对软件需求的设计。

 

面向对象设计模式描述的是软件设计,因此它是独立于编程语言的,所以它并不局限于某种语言。但是面向对象设

计模式的最终实现仍然要使用面向对象编程语言来表达,我们所学的是基于C#语言,但实际上它适用于支持.NET

架的所.NET语言,如Visual Basic.NETC++/CLI等。

 

面向对象设计模式并不是简单的照搬照用,它是建立在对“面向对象”纯熟、深入的理解的基础上的经验性认识。

要想用好面向对象设计模式,前提是首先掌握“面向对象”!

 

 尤其是对面向对象三大机制的理解:

 

封装,隐藏内部实现

继承,复用现有代码

多态,改写对象行为

   

  但是我们理解面向对象设计模式的时候,不应该基于某种语言来理解他,更不是运用了这三大机制就可以做出好

的面向对象设计。不是使用了面向对象的语言(例如C#),就实现了面向对象的设计与开发!这需要我们站在面对

对象这个宏观的角度去理解这三大机制和各种模式。因此,任何一个严肃的面向对象程序员(例如C#程序员),都需

要系统地学习面向对象的知识,单纯从编程语言上获得的面向对象知识,不能够胜任面向对象设计与开发。

 

    我们的任何设计模式都是建立在设计原则之上的,也就是设计模式的六大原则。

   

    而面向对象设计也就它的三大基本原则

针对接口编程,而不是针对实现编程

优先使用对象组合,而不是类继承

封装变化点

计算机生成了可选文字: 可维护可复川可扩展一程序灵活性好111、.,、一原立大一六分类.结构+一创建+行为+,基础对亚州,产I,面向对象单一职责开放封闭依峨倒转“卜里氏代换合成聚合复用迪米特象一装抽一封多态

 

1.创建者(Creational):与对象创建有关。

2.结构型(Structural):处理类或者对象的组合。

3.行为型(Behavioral):描述类或对象如何交互及如何分配责任。

原创粉丝点击