前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >面向过程到面向对象再到面向函数

面向过程到面向对象再到面向函数

作者头像
spark
发布2018-12-20 11:51:30
1.1K0
发布2018-12-20 11:51:30
举报
文章被收录于专栏:数据科学

@(朝天吼python技术)

关注最基本的实现方法,面向过程

拿到问题,识别输入输出,脑海里先产生一个实现输入到输出的大致思路。 如果这个开始按着思路去实现代码,就会写出一堆处理过程,这个时候,程序只有原始的输入输出和中间过程数据结构和一堆处理过程,如果把处理过程再分类处理一下变成各种模块(一些语言里叫做过程sub,一些语言里也叫做函数func)

关注数据和过程的有效管理,面向对象

为了实现各种过程,中途有一大堆的数据,首先暴露的问题就是数据是混乱的 ,这个时候,另一种编程设计思想就出来了,面向对象。

面向对象把各种实际问题中的实体映射成一个对象,对象里封装模拟实体店数据和动作(方法),动作也是一个过程。多个对象在程序里各自封装业务上好理解的数据,用接口(对外暴露出来的方法)互相交互,来完成任务。为了一些处理的中间环节,可能会虚拟出一些非实体店中间对象来辅助。

面向数据和过程的确定性,函数式编程

数据看起来好一点了,这时又有一些新的问题,对象里的方法也是一个处理过程,对外服务时可能涉及外部IO等交互操作,会产生不在预料中的问题,对内会修改数据,数据被其他人使用时也产生了不确定性。

于是需要把数据和过程按照确定性来分类,把不确定性的容易产生问题的单独归类。数据确定性就是不可变对象,数据无法被修改,过程的确定性就是函数式编程,每次给相同的参数总能返回固定的值,不回因为外部io变化,或者是依赖的数据被修改,而产生了不一致的值。 这就是函数式编程

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2018年12月04日,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 关注最基本的实现方法,面向过程
  • 关注数据和过程的有效管理,面向对象
  • 面向数据和过程的确定性,函数式编程
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档