• 关于面向过程和面向对象的一点思考


      一直在思考过这个问题,究竟人类的思维方式是面向对象的还是面向过程的?

      面向过程的思想就像是:我们接到一个问题后先将其划分为几个解决步骤,其中有共性的抽象出来作为函数可以重复使用,然后按步骤执行。

      面向对象的思想就像是:我们接到一个问题先分析其场景和场景中的要素,将其抽象为类,然后思考为解决这个问题场景中的各个要素分别应该承担那些任务或者说具备哪些功能,然后程序员所需要做的就是将这些要素组织起来、协调好工作关系,最后启动这一工作即可。

      总的来说,在面向过程的思想中,编程者像是一个独裁者,一个执行者,他对一切都说的算,周围的一切都像是它的工具——自动化很低的工具,他一一拿起来完成自己心中的计划;而面向对象的思想中,编程者更像一个组织者,一部电影的导演,他组织剧组里的成员,交代分工和工作时的互相配合,然后在启动拍摄后退居到幕后,具体工作由手下按照他早已做好的安排来完成。 那么究竟人类的思维方式是怎样的呢?面向过程还是面向对象?

      人们解决问题是更愿意扮演操控者还是组织者?这就是因人而异的问题了,说的玄乎点就是思想境界的问题了。人天生的思维方式肯定是面向过程的,就像“把大象放冰箱分三步”一样是分step one two three的,但是随着面对的问题越来越复杂凭借一己之力越来越难以掌控,人就得学着放权,学着合作,学着组织,这就很自然地过渡到了面向对象的思想。

      所以说,我认为人的原始思维方式是面向过程的,面向对象思想是人对问题复杂性的一种妥协。 还有其实简单的问题假如也硬是往面向对象上套的话,往往会适得其反!面向对象、面向过程,更多的我感觉取决于问题的复杂度!

  • 相关阅读:
    laravel 使用DB 鏈接leftJoin查詢
    checkbox复选框,如何让其勾选时触发一个事件,取消勾选时不触发
    js获取上传图片大小,判断上传图片类型,获取图片真实宽度和高度
    如何查看crontab的日志记录
    linux应用之gcc环境的安装
    laravel 获取上一条insert语句产生的id
    laravel多条件查询(and,or嵌套查询)
    laravel ORM 模型关联 with () 用法
    js实现表单提交 onsubmit
    如何利用jquery来给input添加或删除disabled属性
  • 原文地址:https://www.cnblogs.com/shihao/p/1724159.html
Copyright © 2020-2023  润新知