声明式编程思想和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.命令式编程. 这种编程模式比较常 ...
随机推荐
- python六核心编程——条件和循环
1.if声明 单 if 通过使用布尔运算符的声明 and , or 和 not. if-elif-else. elif即else if if expression1: expr1_true_ ...
- jquery关于表格隐藏和显示问题
1. 关于指定表格指定列隐藏显示 $(":checkbox[name*=month]").each(function(){ if(!$(this).attr("check ...
- Egret是一套完整的HTML5游戏开发解决方案
Egret是一套完整的HTML5游戏开发解决方案.Egret中包含多个工具以及项目.Egret Engine是一个基于TypeScript语言开发的HTML5游戏引擎,该项目在BSD许可证下发布.使用 ...
- 第6本:《The Hunger Games》
第6本:<The Hunger Games> 以前从未读过一本完整的英文小说,所有就在今年的读书目标中增加了一本英文小说,但在 头四个月内一直没有下定决定读哪一本.一次偶然从SUN的QQ空 ...
- C#文件操作基础之File类和FileInfo类
文件和I/O流的差异: 文件是一些具有永久存储及特定顺序的字节组成的一个有序的.具有名称的集合. 因此对于文件,我们经常想到文件夹路径,磁盘存储,文件和文件夹名等方面. I/O流提供一种后备存储写入字 ...
- SSM框架整合( Spring 、 SpringMVC 和 Mybatis )
1.基本概念 1.1.Spring Spring 是一个开源框架, Spring 是于 2003 年兴起的一个轻量级的 Java 开发框架,由 Rod Johnson 在其著作 Expert O ...
- 2012 PHP热门资料64个+经典源码50个——下载目录 :
完整附件0豆下载:http://down.51cto.com/data/419216 附件部分预览: PHP精彩应用实例程序源码集锦 http://down.51cto.com/zt/39 无师自通: ...
- Socket编程实践(12) --UDP编程基础
UDP特点 无连接,面向数据报(基于消息,不会粘包)的传输数据服务; 不可靠(可能会丢包, 乱序, 反复), 但因此普通情况下UDP更加高效; UDP客户/服务器模型 UDP-API使用 #inclu ...
- mysql如何更新一个表中的某个字段值等于另一个表的某个字段值
表A和表B,现在希望更新A表,当 A.bid = B.id时,a.x = b.x, a.y=b.y,请问mysql中sql语句 update a inner join b on a.bid=b.id ...
- windows phone 获取手机图片库中图片(4)
原文:windows phone 获取手机图片库中图片(4) 前置条件:手机和电脑未连接或连接电脑Zune软件关闭(与Zune软件连接时不允许访问图片库): 版本7.1 获取手机图片库图片的两种方式: ...