`
sunqing0316
  • 浏览: 37415 次
  • 性别: Icon_minigender_2
文章分类
社区版块
存档分类
最新评论

软考进行时——面向过程设计VS面向对象设计

 
阅读更多

概念

	
	面向过程设计:面向过程其实是最为实际的一种思考方式,就是是面向对象的方法也是含有面向过程的思想。可以说面向过程是一种基础的方法,它考虑的是实际的实现,一般的面向过程是从上往下步步求精,所以,面向过程最重要的是模块化的思想方法。
	面向对象设计:顾名思义就是以对象为基础的软件设计。教科书上是这么说的:面向对象设计以客观世界中的对象为中心,其分析和设计思想符合人们的思维方式,容易被人们所接受。


不解

	看到面向对象“容易被人们所接受”这个评价时,我有一种不解,就个人而言,我反而感觉面向过程的设计更容易被接受,虽然它不够灵活,难以维护,但是在敲代码的时候还是比较容易上手的,因为你不需要抽象,直接想让计算机怎么实现,它就去怎么实现,你一步一步的告诉它,然后它就一步一步的照做,这样的思维方式不是更符合人们的思维吗?从这两种设计方式出现的先后顺序上也能看出面向过程更符合人们的思维习惯吧?
比较
	

	以前学习这两种设计模式的时候,一直都是一边倒的将面向对象奉若神明,但是它是不是真的值得我们这么去膜拜呢?让我们来看看。
	首先,二者在实现方式上的区别从概念上就已经看出来了,面向过程是按步骤走,面向过程是按结构走,可以这么说吧。
	第二,面向过程的思维方式是分析综合,面向对象的思维方式是构造,一个注重细节,一个关注宏观。
	第三,从技巧性上来说,面向过程的设计涉及到算法更多一些,更具有挑战性,技巧性强,而面向对象主要在于对象的抽象技术,抽象完了以后,任何人都可以做后面的工作了。个人觉得做抽象的那个人才是真正的技术人员,其他的后期工作交给码农就可以了,这个成本较低。
	第四,从代码量上来说的话,如果软件规模小,结构简单的话面向过程的开发自然快速,代码量小。反之,自然是首选面向对象的设计。
	第五,至于一提到面向对象随之就提到的灵活啊、可维护、可扩展之类的溢美之词在此就不再介绍了,因为只要一说面向对象,这些就像是附属品一样,大家都耳熟能详,肯定也比我说的好。

总结

	通过上面的比较,相信大家更加坚定了对面向对象的信仰,更加将其奉若神明。不过,这个面向对象中的抽象的过程可不是一般人能做到的,要达到改动只是局部的需要设计的人有足够的经验,使用面向对象的语言不能保证你的程序就是面向对象的,初学者或者很蹩脚的程序员很可能以面向对象之虚而行面向过程之实,这样设计出来的所谓的面向对象的程序很难有良好的可移植性和可扩展性。
	还有一点我想要说的就是,面向过程绝不是一无是处的。它其实是最实际的思维方式,也是大多数人的思维方式。就算是面向对象的方法,同样也包含着面向过程的思想,面向过程是一种基础的方法。而且相对于面向对象来说,面向过程的方法容易上手,甚至不需要基础,就按照你的想法一步一步去做就行了。但是,并不是说就此止步了,之所以还有面向对象的出现,就是因为面向过程已经不能满足实际的需要了。随着软件规模的不断扩大,业务和逻辑变得越来越复杂,面向过程已经应付不了了,所以才有了面向对象的诞生。从面向过程过渡到面向对象是我们必经的一个过程,这不仅仅是设计方法的提升,更是思想的提高。




分享到:
评论

相关推荐

    利用Java进行疫情大数据分析——“Java面向对象程序设计”课程实践教学设计研究.pdf

    利用Java进行疫情大数据分析——“Java面向对象程序设计”课程实践教学设计研究.pdf

    面向对象程序设计课程设计——学生成绩管理系统

    设计功能:使用面向对象的程序设计方法,程序的功能主要包括:对学生成绩信息的增、删、查、改等基本功能,并能够按照学号或姓名及成绩等进行排序和筛选,使用文件进行数据的存储和维护,能够按照班级或专业进行分类...

    面向对象的程序设计语言与面向过程的程序设计语言.docx

    二者用最简单的例子来说 比如说:我吃饭 面向过程:着重在吃的过程,要具体描述吃的没一个步骤,比如夹米饭,张嘴,我进行咀嚼等之类的过程 面向对象:是先将我封装成一个类,米饭封装成一个类,然后把吃饭进行封装...

    历年软考——电子商务设计师试题及答案

    电子商务指的是利用简单、快捷、低成本的电子通讯方式,买卖双方不谋面地进行各种商贸活动。 电子商务可以通过多种电子通讯方式来完成。简单的,比如你通过打电话或发传真的方式来与客户进行商贸活动,似乎也可以...

    数据结构与算法——面向对象C++设计模式

    数据结构与算法的经典教材,系统全面地介绍了各种传统的数据结构,把它们按照类层次的现代理念予以展开,进而达到抽象结构与实际设计的完美统一。本书后三章通过引入抽象问题求解的概念,集中进述了算法技术和各算法...

    面向对象概要设计模板

    提供使用面向对象设计方法进行概要设计时的概要设计模板,彻底抛弃古老的面相过程的设计模板

    利用Java进行疫情大数据分析——“Java面向对象程序设计”课程实践教学设计研究.zip

    利用Java进行疫情大数据分析——“Java面向对象程序设计”课程实践教学设计研究

    面向对象设计原理与模式(Java版)

    在进行理论介绍的同时,《面向对象设计原理与模式(Java版)》十分重视实践技能的培养,一些较为综合的实例贯穿了相关的知识点,使学生理解并掌握它们在程序设计中的真正用处和在提升程序性能方面的作用。《面向对象...

    面向对象分析与设计1

    国外计算机科学经典教材-面向对象分析与设计(UML 2.0版) 简介:本书详细介绍了面向对象的分析与设计,全面探讨了面向对象概念、软件开发过程、UML和多层技术。 本书使用最常见的技术和方法,通过一个贯穿全书的...

    面向对象和面向过程的区别

    面向过程就是分析出解决问题所需要的步骤,然后用函数把这些步骤一步...对象,初学者或者很蹩脚的程序员很可能以面向对象之虚而行面向过程之实,这样设计出来的所 谓面向对象的程序很难有良好的可移植性和可扩展性。

    面向对象分析与设计UML2.0(PDF)

    详细介绍了面向对象的分析与设计,全面探讨了面向对象概念、软件开发过程、UML和多层技术。本书使用最常见的技术和方法,通过一个贯穿全书的案例分析,对面向对象的软件开发过程和使用面向对象技术的编程过程进行了...

    C++面向对象程序设计课后答案

    面向对象程序设计将数据和操作封装在一起,程序是由一个个对象组成的,对象之间通过接口进行通信,能够较好地支持程序代码的复用。 2.面向对象程序设计语言有四个特征: ⑴ 抽象性 ---- 许多实体的共性产生类。 ⑵ ...

    《C#面向对象程序设计》源代码(CS)

    本书以面向对象的软件工程思想为主线,细致深入地讲解了C#语言面向对象程序设计的方法和技巧,内容涵盖面向对象的基本概念、基于接口的设计、泛型程序设计方法、Windows和Web应用开发,以及数据库访问技术。...

    Java与UML面向对象程序设计.pdf

    《Java与UML面向对象程序设计》旨在介绍使用Java和UML开发面向对象的软件所必需的知识,并将伴您走上使用Java进行真正面向对象软件开发的道路。《Java与UML面向对象程序设计》共分12章。《Java与UML面向对象程序设计...

    软工大作业面向对象分析与设计.doc

    根据教师给定的题目或自选题目,利用有关的工具软件和面向对象的分析方法,进行信息系统的分析、设计和建模。 2.实验内容 利用UML和有关的工具软件,进行面向对象的系统建模,包括:类图、用例图、顺序图、状态图等,...

    2010.03.02 软考专家谈软考(五)——2009年下半年系统架构设计师试题分析1

    2009年11月系统架构设计师考试下午试题1分析下午1为主观性案例分析题,除试题1是必答题外,考生还需要在试题2至试题5中任意选择两道进行回答,表2给出了各个题

    2013年信息系统项目管理师软考辅导——3年真题精解与实战模拟(全真模拟题部分),扫描版

    《信息系统项目管理师软考辅导:3年真题精解与实战模拟》紧扣最新版《信息系统项目管理师考试大纲》的考核要求,深入研究了历年信息系统项目管理师考试的命题风格和题型结构,依据考生在学习过程中所关注的3个要点...

    跟我学Java面向对象程序设计技术及应用——Java中的面向对象技术(第1部分).pdf

    2、面向对象程序设计方法与面向过程程序设计方法的对比 (1)从面向过程的代码中我们可以发现以下一些特点 1) 代码的顺序逻辑性较强 2) 当代码量比较大的时候修改起来比较麻烦 3) 功能块的封装是通过函数来实现的 ...

    软考(高级)——项目管理工程师培训讲义

    这是公司聘请的软考高级培训讲义,方向是信息系统项目管理工程师,针对国家软考行业内认可的专家培训讲义,应考针对性强,列出了考试重点内容进行药店分析讲解。

    设计模式:可复用面向对象软件的基础--详细书签版

     另外,这也不是一篇高级专题技术论文,而是一本关于设计模式的书,它描述了在面向对象软件设计过程中针对特定问题的简洁而优雅的解决方案。设计模式捕获了随时间进化与发展的问题的求解方法,因此它们并不是人们从...

Global site tag (gtag.js) - Google Analytics