`
fhlfwl
  • 浏览: 2969 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
最近访客 更多访客>>
社区版块
存档分类
最新评论

对面向对象和设计模式的一点理解

阅读更多

       进入大学开始学习的语言是C语言,一种全面向过程的语言,于是面向过程的思想最先进入了脑子。这种面向过程的编程方式在脑子中定型。以为程序就是函数的组合。什么是面向对象编程根本就没听说过。

  

      后来在大三的时候学习C++,突然看到了类,接口这些概念,知道了面向对象。在学习C++的过程中,面向过程编程思想还在脑子你不断的显现,一种很不习惯的感觉。学习起来也有点吃力。什么虚拟方法,虚拟继承弄的头晕晕的。现在都没什么印象了,因为后来一直用java(java真正的面向对象,没有C++这样虚拟方法什么的怪东西)。

    

    后来大四就开始学习JAVA了,有了C++的基础学习java感觉是很自然和轻松的。于是有了对面向对象的一些理解了。

 

    毕业一年多了,自己有点理解记录一下,加深理解,以后有了深入的理解再回来看看现在的认识可能会有进步的感觉。。:-)。

 

 

    面向对象语言的三个特点:多态,封装,继承 。 写好OO程序必须认识,运用好这三个特点。

  

    好的软件的标准是:易于维护(bug少,代码清晰,修改方便),易于复用(模块之间要低耦合)等。。。

  

    前辈们在开发软件的过程中在经验中总结出开发好软件的方法——设计模式(我这里是指面向对象编程的设计模式,其实面向过程也有设计模式)。

 

   设计模式的核心思想他的思想原则是:1.对接口编程(利用面向对象语言的多态),2.封装变化(少用继承多用组合)

   

     四人帮总结的23个模式,都是这两个原则。比如策略模式,就是一个典型的封装行为的方式。装饰者模式,利用共同实现同一接口,包装者对被包装者引用包装替换更体现了这两个原则。

   

      通过对这两个原则的认识,我以为面向对象的编程和面向过程的编程还是在编程思想和目标是有本质的相同——封装变化,面向对象只是有了更加好的封装方式,可以利用接口来实现多态性,利用类来封装变化。而面向过程就是利用函数了。

 

      现在我发现,如果你完全记住了四人帮的23个模式,你在需要它的时候有时候还是能解决问题,前提是你要能发现你现在的设计可以用四人帮的模式来很好解决。即使你都能发现,但是绝大部分都还是不能直接套用这23个模式.只要理解OO编程,理解这两个原则的威力.那么可以without design pattern

 

 

   

分享到:
评论

相关推荐

    设计模式--可复用的面向对象软件的基础

    这些模式经过时间和经验的检验,能够帮助开发者编写可维护、可扩展和可复用的代码,是面向对象编程的核心概念之一。在C++这样的强类型、静态编译的语言中,设计模式尤其重要,因为它们可以指导如何有效地利用C++的...

    swift-面向对象设计的设计原则和设计模式

    面向对象设计模式是解决特定问题的通用解决方案,分为创建型、结构型和行为型三大类。在Swift中,一些常见的设计模式包括: 1. 工厂模式:提供一个创建对象的接口,但允许子类决定实例化哪一个类。在Swift中,可以...

    蛋壳+设计模式+面向对象

    它们可能包含了上述设计模式的应用示例,通过阅读和分析这些代码,我们可以深入理解如何在实际项目中运用面向对象设计和设计模式。 总之,设计模式和面向对象编程是构建复杂系统的关键工具,尤其是在像坦克战斗游戏...

    设计模式精解3chm文档

    面向对象设计的核心不仅仅是继承和多态,更重要的是如何封装行为,使代码更加模块化、易于理解和维护。在设计模式的指导下,开发者能够更深入地理解面向对象设计的原则和模式,从而编写出更加优雅和高效的代码。 ##...

    C#面向对象设计模式纵横谈(24):(行为型模式) Visitor 访问者模式

    ### C#面向对象设计模式纵横谈(24):(行为型模式) Visitor 访问者模式 #### 概述 在本篇文章中,我们将深入探讨面向对象设计模式中的一个非常重要的模式——**Visitor(访问者)模式**。此模式属于行为型模式的一...

    基于Java的设计模式理解与实现.pdf

    在讨论Java设计模式的文档中,文章首先强调了软件设计阶段的重要性,指出软件的好坏很大程度上取决于前期的设计,而设计模式在软件设计中的核心作用在于确保代码的可读性、易理解性、可复用性和可靠性。文章接下来对...

    好基本设计模式的图书,总有你喜欢的和合适的

    在软件开发中,正确理解和应用设计模式能够提高代码的可读性、可维护性和可扩展性。"新版设计模式手册(c#).pdf"和"设计模式图解.chm"等资料将深入探讨这些模式,而"戏说面向对象程序设计Csharp版.pdf"可能会以更生动...

    二十三种设计模式【PDF版】

    同样地,面向对象设计员也沿袭一些模式,像“用对象表示状态”和“修饰对象以便 于你能容易地添加/删除属性”等。一旦懂得了模式,许多设计决策自然而然就产生了。 我们都知道设计经验的重要价值。你曾经多少次有过...

    VFP6.rar面向对象程序设计

    面向对象程序设计是一种现代编程范式,它将复杂的软件系统分解为一系列相互协作的对象,每个对象都封装了数据和操作这些数据的方法。Visual FoxPro 6.0(VFP6)是微软公司发布的一个数据库开发工具,它支持面向对象...

    Head.First.设计模式中文版pdf(第二部分/共七部分)

    这种教学方法能够加深读者对知识点的理解和记忆。例如,在第1章中以鸭子作为主题,第2章以气象站为背景,第3章则以咖啡店为故事场景,这样的叙述方式极大地增强了书本的可读性和趣味性。 这本书的另一个显著特点是...

    C#设计模式_精辟呀。。

    C#设计模式是面向对象编程中的精华,它提供了一套标准的解决方案模板,帮助开发者在遇到特定问题时能够快速、有效地进行代码设计。本资源集合了一本超经典的教学材料,非常适合C#初学者或有经验的开发者进行自学。 ...

    老生常谈javascript的面向对象思想

    工厂模式是一种创建对象的设计模式,通过工厂函数来返回新创建的对象。工厂模式有两种实现方式,第一种方式是每次调用工厂函数都会创建一个新的函数实例,这样做会导致函数重复定义,增加了内存的使用量。第二种方式...

    Design Patterns Explained(设计模式解析英文版)

    《设计模式解析》通过多个实例展示了设计模式的实际应用效果,帮助读者更好地理解和掌握面向对象设计的基本原则及其背后的动机。 #### 三、设计模式的核心概念 - **封装行为**:真正的对象能力不仅仅在于继承,更...

    源码C# /VC/C++设计模式[迷你版]

    《源码C# /VC/C++设计模式[迷你版]》是针对编程语言C#、Visual C++(VC)和C++的一种精简版设计模式集合,旨在帮助开发者理解和应用这些模式来提升软件开发的效率和质量。设计模式是经过实践验证的解决方案模板,为...

Global site tag (gtag.js) - Google Analytics