声明式编程思想和EEPlat
声明式编程定义
声明式编程(英语:Declarativeprogramming)它是一种编程范式。程相对立。它描写叙述目目标性质,让计算机明白目标,而非流程。
声明式编程不用告诉电脑问题领域。从而避免随之而来的副作用。而指令式编程则须要用算法来明白的指出每一步该怎么做。
声明式编程通常被看做是形式逻辑的理论,把计算看做推导。声明式编程因大幅简化了并行计算的编写难度,自2009起备受关注。
声明式编程的比較
声明式编程和命令式编程的比較例如以下:
命令式编程:命令“机器”怎样去做事情(how),这样无论你想要的是什么(what)。它都会依照你的命令实现。
声明式编程:告诉“机器”你想要的是什么(what),让机器想出怎样去做(how)。
声明式编程的核心思想
声明式编程是一种自上而下的编程模式,编程的思考重点在于直接描写叙述程序的行为,而不是具体描写叙述程序的行为和实现细节。
声明式编程是一种相对于指令性编程更加简单凝练的直接描写叙述软件程序行为和目标的方式。
命令性编程(如C、Java等须要具体定义程序的流程和行为)很多其它的关注程序实现的细节。
声明式编程主要側重总体性、目标性,详细实现细节通过解析器或运行引擎来进行。
声明式编程是更加抽象更加高级的编程方式,使用更加简单同一时候忽略内部实现细节的编程模式。
EEPlat是声明式的开发平台
EEPlat通过自定义的“元模型体系”定义出对应软件系统的“元数据”,通过运行引擎解析运行“元数据”,终于展现成一个可运行的软件系统。能够看出EEPlat正是依照声明式编程的思想来组织整个开发过程。
通过EEPlat的后台,我们“声明”要开发的软件系统的界面内容和UI交互流、“声明”要开发的软件系统的数据模型、“声明”要开发的软件系统的业务逻辑和业务流程。“声明”完毕后。该软件系统就完毕开发,可以直接执行公布。
在EEPlat中,一个软件系统的开发过程,事实上就是对该软件系统从界面到数据及流程、业务逻辑的全面的完整的“声明”过程。
EEPlat也正是因为採用了声明式编程的思想,使用了元数据驱动的技术,才可以在概念上更贴近于需求,开发上更加高效。使用上更加方便简单灵活。
版权声明:本文博客原创文章,博客,未经同意,不得转载。
声明式编程思想和EEPlat的更多相关文章
- 成吨提高开发效率:Intellij Shortcuts精简子集与思维模式
在线精简cheatsheet备查表:intellij.linesh.twGithub项目:intellij-mac-frequent-keymap Intellij的快捷键多而繁杂,从官方推荐的key ...
- go 学习笔记之仅仅需要一个示例就能讲清楚什么闭包
本篇文章是 Go 语言学习笔记之函数式编程系列文章的第二篇,上一篇介绍了函数基础,这一篇文章重点介绍函数的重要应用之一: 闭包 空谈误国,实干兴邦,以具体代码示例为基础讲解什么是闭包以及为什么需要闭包 ...
- 用好JAVA中的函数式接口,轻松从通用代码框架中剥离掉业务定制逻辑
大家好,又见面了. 今天我们一起聊一聊JAVA中的函数式接口.那我们首先要知道啥是函数式接口.它和JAVA中普通的接口有啥区别?其实函数式接口也是一个Interface类,是一种比较特殊的接口类,这个 ...
- EEPlat的元数据驱动的运行引擎
EEPlat採用了元数据驱动的核心思想,因而EEPlat最重要的就是完好的元模型体系及高效灵活的解析运行引擎.EEPlat的运行引擎通过解析基于元模型的元数据,解释运行形成终于的业务系统. EEPla ...
- 编程范式:命令式编程(Imperative)、声明式编程(Declarative)和函数式编程(Functional)
主要的编程范式有三种:命令式编程,声明式编程和函数式编程. 命令式编程: 命令式编程的主要思想是关注计算机执行的步骤,即一步一步告诉计算机先做什么再做什么. 比如:如果你想在一个数字集合 collec ...
- EEPlat的基于浏览器的在线开发技术
EEPlat的开发内容主要包含配置开发和基于API的扩展开发两块内容. EEPlat的配置开发基于后台的配置环境.直接通过界面操作配置就可以. EEPlat的配置平台是用EEPlat自解释构建的.本身 ...
- EEPlat的元模型体系
EEPlat的元模型体系是元数据驱动的必要条件之中的一个.仅仅有通过元模型可以完好的描写叙述一个软件系统.才可以完整的定义该软件系统的元数据,也才干真正实现软件系统的元数据驱动式开发.也就意味着一个软 ...
- spring思想分析
摘要: EveryBody in the world should learn how to program a computer...because it teaches you how to th ...
- react特性-声明式编程
网络上有很多关于声明式编程和命令式编程的对比和说明,但是大多都是大同小异,总的来说就是一句话"告诉电脑我要做什么,但是让电脑自己决定怎么做." 1.命令式编程. 这种编程模式比较常 ...
随机推荐
- [LeetCode] Search for a Range [34]
题目 Given a sorted array of integers, find the starting and ending position of a given target value. ...
- MapReduce 异常 LongWritable cannot be cast to Text
有一个txt文件,内容格公式是这样的: 深圳订做T恤 5729944 深圳厂家t恤批发 5729945 深圳定做文化衫 5729944 文化衫厂家 5729944 订做文化衫 5729944 深圳t恤 ...
- hdu 4710 Balls Rearrangement (数学思维)
意甲冠军:那是, 从数0-n小球进入相应的i%a箱号.然后买一个新的盒子. 今天的总合伙人b一个盒子,Bob试图把球i%b箱号. 求复位的最小成本. 每次移动的花费为y - x ,即移动前后盒子编号 ...
- Thinkphp中的volist标签(查询数据集(select方法)的结果输出)用法简介
参考网址:http://camnpr.com/archives/1515.html 通常volist标签多用于查询数据集(select方法)的结果输出,通常模型的select方法返回的结果是一个二维数 ...
- jsoup方法string转document
//Document doc2 = Jsoup.parseBodyFragment(element.text()); //String FieldName=doc ...
- SCSI miniport 驾驶一个简单的框架
前段时间,只需用一台新电脑,由于资金有限没有匹配了心仪已久的SSD.我没感觉到飞翔的感觉,总不甘心,仔细想想.我死了相当大的存储,我们可以假设部分内存作为硬盘驱动器把它弄出来.不会比固态硬盘的速度快, ...
- flex 错误信息类型及解决方法
总结一些经常出现的异常信息及处理方法(会一直持续更新): 异常1: 写actionscript3.0时遇到了错误.报错为:Error #2044: 未处理的 ioError:. text=Error ...
- js检测浏览器中是否安装了flash播放插件
这两天工作中需要在网页中嵌入flash小游戏,我使用的是swfobject.js version:1.5.其他方面都很好,唯独版本检测这里一直没有搞通,后来实在无奈之下,改用js来检测浏览器的flas ...
- 基于.net开发chrome核心浏览器【二】
原文:基于.net开发chrome核心浏览器[二] 一: 上一篇的链接: 基于.net开发chrome核心浏览器[一] 二: 相关资源介绍: chrome Frame: 让IE有一颗chrome的心, ...
- css 简单 返回顶部 代码及注释说明
1. 最简单的静态返回顶部,点击直接跳转页面顶部,常见于固定放置在页面底部返回顶部功能 方法一:用命名锚点击返回到顶部预设的id为top的元素 html代码 <a href="#top ...