棉花糖小说网 - 都市小说 - 崛起于2009在线阅读 - 作品相关:计算机思想(1)

作品相关:计算机思想(1)

    本文中反复提到了一个词,“思想”。

    什么是“思想”?“思想”是个笼统的概念,泛指解决问题的思路和手段。

    “思想”中被提及频率最高的,当属“面向对象”思想。那么什么是“面向对象”?

    首先说“对象”,“对象”是一个指代词,相当于日常用语的他、她、它,并不具体指什么东西。所以“面向对象思想”就好解释了,就是使用ta的方式,去解决问题。

    世间万物都可为对象,比如把“手机”当做对象,那么消费者拿到手机之后,并不需要去研究手机是怎么制造的,也不需要了解手机的运动原理,反正只要知道怎么去使用它,接打电话也好还是娱乐也好,就可以了。

    面向对象的实现,依靠的封装、继承、多态等方法,最终达到的目标是是提高效率。比如说,手机就是一个封装好的对象,让用户使用手机前先去理解手机的原理,这既不科学也不效率。

    计算机面向对象思想的诞生,就催生了许多面向对象的解决方案,这里面最广泛被用到的就是面向对象框架。

    面向对象框架最大的作用便是分工协作,提高开发效率。比如说甲负责项目中的某个功能,需要使用乙的开发功能,互相约定好参数和返回值即可,并不需要去关心对方代码怎么写的。

    java是一个纯面向对象式语言,大名鼎鼎的j2ee和j2me便是面向对象框架。而市场占有率近年来逐步攀升的php,也有着属于自己众多的框架,比如Yii和ci。甚至还有一些傻瓜式框架,比如ECShop、dedecms、discuz,提供给非计算机专精开发者使用。

    但是值得一说的是,过分的迷信某个框架是不可取的,框架只是一种辅助手段,最终决定代码是否优秀的依旧还是人。

    比如说Yii框架,被无数不知情的吃瓜众吹捧过,其结构复杂、功能完善,上手慢,但熟练以后,相较于其他框架能够得到更高的开发效率。

    但是强大就意味着可塑性差,DIY潜力有限,这在面对亿级数据时便显得心有余而力不足。也因此,其貌不扬结构简单的ci框架,以及在其基础上各种改造而来的自研发框架,便在最高的层次发挥了巨大的作用。

    面相对象与之相对的便是面向过程。在面向对象思想如此强势的通知局面下,面向过程依旧有着自己的一片天地。

    面向过程就是直接面对问题,像流水账一样一次把代码弄出来,没有MVC。其缺点是代码又臭又长、可读性和可维护性差,但是它的优点是面向对象无可取代的:少了“安排”对象的资源消耗,面向过程的执行效率更高,在面对海量负载以及脚本任务中,面向过程都扮演着重要的角色。

    由此可见,计算机行业里,并不存在说哪个技术一定是最先进的,哪个框架一定是最完美的。适合自己的,符合当下要求的,才是最好的。

    真正的武林高手,一花一叶都是顺手拈来,绝不会拘泥于某一个招式,所以本书从来不去强调哪门技术又或者框架,以免给人误导。

    就说Python这门语言,作为一门shell层执行脚本,并且还是个面相过程式语言。恐怕十年前的人们打死也想不到,它会在AI领域大放光彩。