做网站搜索排名的公司工作怎么样,红酒营销 网站建设,精品网站开发,wordpress积分代码1、引言 机算机科学是一门应用科学#xff0c;它的知识体系是典型的倒三角结构#xff0c;所用的基础知识并不多#xff0c;只是随着应用领域和方向的不同#xff0c;产生了很多的分支#xff0c;所以说编程并不是一件很困难的事情#xff0c;一个高中生经过特定的训练…1、引言 机算机科学是一门应用科学它的知识体系是典型的倒三角结构所用的基础知识并不多只是随着应用领域和方向的不同产生了很多的分支所以说编程并不是一件很困难的事情一个高中生经过特定的训练就可以做得到。但是会编程和编好程绝对是两码事同样的程序员有的人几年之后成为了架构师有的人却还在不停地coding只不过ctrl-c、ctrl-v用得更加纯熟了。在中国编程人员最终的归途无外乎两条一是转向技术管理它的终点是CTO二是继续深入它的终点是首席架构师成为CEO的人毕竟是少数。如果你现在还是个普通的程序员希望继续在技术这条路上前进的话我想你还是应该先补充一点软件工程的思想学习一点有关设计模式的知识只有具备这些能力你才能从整体和宏观层面来考虑问题、分析问题和解决问题。本人Coding了很多年中间走了不少弯路虽然最终没什么大成就但总算有一些心得很愿意把自己的一些经验拿出来跟大家分享这或许对你的发展有所帮助。 由程序员转为架构师最绕不开的概念就算是面向对象(OO)了。记得在大学的时候我们专业开了一门课叫《面向对象的编程》。那个时候我们刚刚学了一门C语言开发环境用的还是DOS下的Turbo C半点项目开发的经验都没有纯粹的空对空。所以一学期下来我始终处于一种懵懂状态既没领会面向过程和面向对象到底有什么区别也没搞懂面向对象能带来什么好处。 2、面向过程(OP)和面向对象(OO) 2.1 蛋炒饭和盖浇饭 有人这么形容OP和OO的不同用面向过程的方法写出来的程序是一份蛋炒饭而用面向对象写出来的程序是一份盖浇饭。所谓盖浇饭北京叫盖饭东北叫烩饭广东叫碟头饭就是在一碗白米饭上面浇上一份盖菜你喜欢什么菜你就浇上什么菜。我觉得这个比喻还是比较贴切的。蛋炒饭制作的细节我不太清楚因为我没当过厨师也不会做饭但最后的一道工序肯定是把米饭和鸡蛋混在一起炒匀。盖浇饭呢则是把米饭和盖菜分别做好你如果要一份红烧肉盖饭呢就给你浇一份红烧肉如果要一份青椒土豆盖浇饭就给浇一份青椒土豆丝。 蛋炒饭的好处就是入味均匀吃起来香。如果恰巧你不爱吃鸡蛋只爱吃青菜的话那么唯一的办法就是全部倒掉重新做一份青菜炒饭了。盖浇饭就没这么多麻烦你只需要把上面的盖菜拨掉更换一份盖菜就可以了。盖浇饭的缺点是入味不均可能没有蛋炒饭那么香。到底是蛋炒饭好还是盖浇饭好呢其实这类问题都很难回答非要比个上下高低的话就必须设定一个场景否则只能说是各有所长。如果大家都不是美食家没那么多讲究那么从饭馆角度来讲的话做盖浇饭显然比蛋炒饭更有优势他可以组合出来任意多的组合而且不会浪费。 2.2 软件工程 盖浇饭的好处就是“菜”“饭”分离从而提高了制作盖浇饭的灵活性。饭不满意就换饭菜不满意换菜。用软件工程的专业术语就是“可维护性”比较好“饭”和“菜”的耦合度比较低。蛋炒饭将“蛋”“饭”搅和在一起想换“蛋”“饭”中任何一种都很困难耦合度很高以至于“可维护性”比较差。软件工程追求的目标之一就是可维护性可维护性主要表现在3个方面可理解性、可测试性和可修改性。面向对象的好处之一就是显著的改善了软件系统的可维护性。 面向过程(OP)和面向对象(OO)是不是就是指编码的两种方式呢不是你拿到了一个用户需求比如有人要找你编个软件你是不是需要经过需求分析然后进行总体/详细设计最后编码才能最终写出软件交付给用户。这个过程是符合人类基本行为方式的先想做什么再想如何去做最后才是做事情。有的同学说“我没按照你说的步骤做啊我是直接编码的”。其实你一定会经历了这三个阶段只不过你潜意识里没有分得那么清楚。对于拿到需求就编码的人可能编着编着又得倒回去重新琢磨还是免不了这些过程 以OO为例对应于软件开发的过程OO衍生出3个概念OOA、OOD和OOP。采用面向对象进行分析的方式称为OOA采用面向对象进行设计的方式称为OOD采用面向对象进行编码的方式称为OOP。面向过程(OP)和面向对象(OO)本质的区别在于分析方式的不同最终导致了编码方式的不同。 2.3 面向过程(OP)和面向对象(OO)转载于:https://www.cnblogs.com/springMVC/archive/2009/03/06/2204463.html