永发信息网

为什么要面向对象呢

答案:2  悬赏:60  手机版
解决时间 2021-03-10 06:22
为什么要面向对象呢
最佳答案
之前写过一篇
如果你也是.NET程序员
,收到不少留言,各种意见都有,之前的说话方式不够友好,特此向因看过而心生郁闷的人道歉。
这样就有个问题,比如我自己独特的结构不也是结构化吗。Martin Fowler的重构的里有说任何一个傻瓜都能写成计算机能理解的代码。唯有写成人类容易理解的代码,才是优秀的程序员,代码如果仅仅给计算机读那怎么写都无所谓,只要是正确的代码总能执行,但是我们的代码是需要维护的,一般的代码更多还是要让人能轻松的读懂,所以自己独特的结构只能自己看。所以话说回来,大家都知道的,比较流行的结构包括但并不限于面向过程和面向对象这两种方式。 然而就算是面向过程与面向对象这两种, 就算是其中之一,你坚持了吗?比如我的代码到底是面向过程还是面向对象,还是很混乱 就算无所谓,我的代码能让人轻松读懂吗?
面向过程或者面向对象的代码就一定方便阅读吗?不管出于什么样的原因业界流行这样两种。先是以C语言为代表的编程语言,以及面向过程的编码方式,接着后来以java语言为代表,面向对象的编码方式(我仅仅说的是代表,说的两个方面), 我们在学校的学习以这些为基础,工作中必然也是也这些为基础交流。如果我们坚持面向过程,或者面向对象,就为我们的程序方便阅读提供了前提。怎样才能体现面向对象和面向过程这两种其中之一呢。如果你一直以C语言编程,坚持面向过程编程中的一些原则,那么今后受过良好面向过程训练的人就比较容易阅读你的代码了不是吗。如果你以java或者C#编程, 坚持面向对象设计与编码的一些原则,不是为一个受过良好面向对象训练的人读懂你的代码提供了方便吗?
我为什么说面向对象呢?我更要时候的是坚持结构化,如果你能写出优秀的面向过程的设计也很好啊。如果你坚持用C#来做面向过程的开发也行啊,希望下个接替你位置的人也是用C#写面向过程代码的人吧。不过更多的是一个用C#写代码的人接受的是面向对象方面的训练。用C也可以写出面向对象的设计啊,不知道有人看过ooc这本书呢,(这本书里介绍用C语言写面向对象的代码,弄的很复杂),应该有很多人不知道用static可以让一个.c文件的变量,结构和函数变成私有的吧。只是这样,一个只进行了面向过程训练的人能轻松看懂用C做的面向对象开发代码吗。 所以一个.net小项目就不要面向对象了吗,说不定哪天因为功能扩展变成大项目了呢,更说不好将来维护的人根本就没接触过面向过程,就算一个小项目对他来说面向过程的一些做法也让他看不到懂呢?
所以我为什么坚持要让设计和代码面向对象呢?因为用.net本是是面向对象的开发库,而用C#做开发的人很多都是面向对象的程序员,所以为了方便交流我们不是应该尽量用面向对象的思路来做开发吗?而且面向对象的思路也不仅仅是写出容易阅读的代码,面向对象的各种好处也不需要我说了吧. 从最开始写机器码,到汇编,高级语言,再到高级语言中出现面向对象语言。面向对象应该是能解决很多问题才出现的吧。
在这里弱弱反对一下完全贯彻实用就好,能解决问题就行,给钱就行的观点,软件工程师总需要有点信仰,有些坚持的吧,如果软件不仅仅只是你混饭吃的工具的话,而且就算是工具,你也不能让你的工具随便让人动不是吗。 小小程序员的一点感慨,贻笑大方了。
全部回答
我暂时保留我的看法!
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
某同学养了一只黄底黑斑猫。宠物医生告诉他,
舌头大引起吐字不清怎么办
写毛笔的毛毡可以洗吗?
提取胡萝卜素的正确方法步骤是A. 粉碎→干燥
爱情公寓交友网站是内地的还是台湾的啊? 是
I Do(银泰百货)在哪里啊,我有事要去这个地方
什么瓷器最贵?
世亦不尘,海亦不苦,彼自尘苦其心尔是什么意
哪位朋友能帮帮我 !最近很痛苦 精神和心理上
张艺谋执导的电影《活着》中有这样一个场景:
雅仕蓝庭地址在哪,我要去那里办事
我银行卡我想的改手机号,我在外地了,我拿着
《逍遥医道》这个小说好看吗
友基手写板怎么安装
二崩期地址在什么地方,想过去办事
推荐资讯
填空题【小题1】地球公转的周期是一年一天 【
下列关于资产或负债计税基础的表述中,正确的
秦皇岛适合情侣得宾馆酒店,求推荐
四川泸州到四川浦江怎么坐车
启辰t90变速箱是金属带吗
购买土地需交纳什么税金??急!!
无论家庭贫富贵贱,都应自信自强.启示
三川综合批发部怎么去啊,有知道地址的么
饭店营销活动中的产品策略主要是指()。A.产品
【多头套期保值】7.题干:某多头套期保值者,用
传奇霸业攻击力6-66什么意思
吉野家是日本的吗
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?