什么是数据驱动编程
来源:互联网 发布:linux local命令 编辑:程序博客网 时间:2024/06/06 01:26
前言:
最近在学习《Unix编程艺术》。以前粗略的翻过,以为是介绍unix工具的。现在认真的看了下,原来是介绍设计原则的。它的核心就是第一章介绍的unix的哲学以及17个设计原则,而后面的内容就是围绕它来展开的。以前说过,要学习适合自己的资料,而判断是否适合的一个方法就是看你是否能够读得下去。我对这本书有一种相见恨晚的感觉。推荐有4~6年工作经验的朋友可以读一下。
正题:
作者在介绍Unix设计原则时,其中有一条为“表示原则:把知识叠入数据以求逻辑质朴而健壮”。结合之前自己的一些经验,我对这个原则很有共鸣,所以先学习了数据驱动编程相关的内容,这里和大家分享出来和大家一起讨论。
数据驱动编程的核心
数据驱动编程的核心出发点是相对于程序逻辑,人类更擅长于处理数据。数据比程序逻辑更容易驾驭,所以我们应该尽可能的将设计的复杂度从程序代码转移至数据。
真的是这样吗?让我们来看一个示例。
假设有一个程序,需要处理其他程序发送的消息,消息类型是字符串,每个消息都需要一个函数进行处理。第一印象,我们可能会这样处理:
上面的消息类型取自sip协议(不完全相同,sip协议借鉴了http协议),消息类型可能还会增加。看着常常的流程可能有点累,检测一下中间某个消息有没有处理也比较费劲,而且,没增加一个消息,就要增加一个流程分支。
按照数据驱动编程的思路,可能会这样设计:
阅读全文
0 0
- 什么是数据驱动编程
- 什么是数据驱动编程
- 什么是数据驱动编程
- 什么是数据驱动编程
- 什么是数据驱动编程
- 什么是数据驱动编程
- 什么是数据驱动编程
- 什么是数据驱动编程
- 什么是数据驱动编程
- 什么是数据驱动编程
- 详解什么是数据驱动编程
- 数据驱动编程
- 数据驱动编程
- 数据驱动编程
- 数据驱动编程(转载)
- 数据驱动编程之表驱动法
- 数据驱动编程之表驱动法
- 数据驱动编程之表驱动法
- 递归方式实现打印一个整数的每一位
- Scala的条件表达式
- 输入一个链表,输出该链表中倒数第k个结点。
- 2017-11-5
- machine learning in action出现ValueError: invalid literal for int() with base 10: 'largeDoses'
- 什么是数据驱动编程
- 第十周周末总结
- dom4j递归解析节点内还含有多个节点的xml
- 欢迎使用CSDN-markdown编辑器
- 20171103每日一练
- 数据结构之 栈应用---老鼠迷宫问题
- Java字符串
- 机器学习笔记2--梯度下降(Gradient decent)
- 1-行列式初步