oop - 大神能不能普及一下这几个编程概念

查看:92
本文介绍了oop - 大神能不能普及一下这几个编程概念的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

问 题

面向对象编程、过程式编程、函数式编程傻傻分不清楚

解决方案

不严谨地说, 比如有一个 Todolist http://todomvc.com/ , 增加了按回车增加一条 Task:

过程式编程

第一步, 删除输入框里的数据,
第二部, 生成对应的 DOM 节点,
第三部, 找到 DOM 节点, 插进去,

面向对象

把 Model 抽象成一个类, 把界面组件抽象成一个类, 界面组件监听 Model 的事件,
界面组件监听到回车, 删除对应的 DOM 输入框里的内容,
Task 插进 Model, Model 发送事件, 界面组件调用 addTaskElement 之类方法, 渲染好任务.

函数式编程

Model 用纯数据, 不可变数据, 就不要乱封装了,
监听到事件, 生成 Virtual DOM 来表示新的 DOM 结构是怎样的,
剩下的交给类库去做.

区别

过程式编程, 先怎么做, 后怎么做, 没有高级的抽象, 复杂问题不会对付.
抽象成对象, 把过程操作限制在对象内部, 对象之间抽象起来.
函数式编程, 尽可能避免过程式的操作, 那种有隐患. 然后就可以各种抽象了.

面向对象和函数式编程内容其实都很杂, 以上只是大概的一个区别.

这篇关于oop - 大神能不能普及一下这几个编程概念的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆