在确立了平台的基本特性之后,就开始具体的设计、开发工作了。当时,摆在我们面前的第一个问题就是:用什么东西来放展示层的扁平化的数据?如果是结构化的数据,我们可以使用对象来存放数据。那么扁平化的数据应该怎么处理呢?我第一个想到的就是.Net里的DataSet类型。因为我在大学里,以及刚毕业的时候,并不是从事JAVA的,而是从事.Net应用开发的,所以对.Net的一些特性比较清楚。
乍看之下,用DataSet来作为扁平化数据存储的容器,没有什么问题。但是,与我们的整体架构一整合,就出了问题。
因为,在整体架构里我们为客户端和服务端进行明确的职责分工,服务端只为客户端提供原始的数据,不因为客户端展示层渲染效果的不同而给不同的数据;而客户端的职责是获取服务端提供的原始数据,经过一定处理后,转化成不同的HTML代码,已各种方式进行渲染;客户端与服务端通过AJAX进行通信。这样的分工,导致各个层的职责很明确,服务端只负责根据业务抽取Service Interface(类似于SOA的设计理念,无非走的不是SOAP协议);而客户端只负责同一数据在不同页面上以不同的方式进行渲染。
这样的架构就导致我们需要在页面层,通过javascript脚本语言去操作数据,那么DataSet在页面层的表现形式是什么?最终没有想通,就放弃了该方案。
但是,在这样的分析过程中,我们确立了一点:在页面层使用JSON为数据承载的容器。想通这点,我们就全部清晰了。只要JSON对象能与JAVA层的对象进行自动转换不救可以了嘛!OK,一条路打通了。
但是,这还不是我们最终的方案。因为,我们考虑:如果我们面向组件的方式进行软件开发,同时为提高组件的复用度,那么就要在开发组件时,抛开具体的业务;那么会有什么结果呢?结果只有一个,不同的组件会定义自己特有的对象;然后当我们将N个组件组装一起时,组件与组件之间的特有对象的转换将变得异常的复杂、繁琐。
此时,我们就想起了Tibco公司的GUI组件中用的一个通用数据格式(CDF),它的英文全称是Common Data Format。如果,有人研究过这个格式的,就知道其实它就是用XML定义的一种格式。这种通用数据格式的做法,其实就是将强类型对象,转化为弱类型对象,然后在数据总线上使用弱类型对象,而对具体的组件来说,其中数据总线上获取弱类型对象,然后将弱类型对象转化成强类型对象之后,进行逻辑处理,最后再将逻辑处理的结果转化为统一格式的弱类型对象,再重新放到数据总线上,供其他组件使用。这种方式,规定了组件“吃”的和“拉”的东西在格式上的一致性,然后在通过数据总线进行传递。这样,就让组件集成的工作变得轻松、快乐,也极大的增强了组件的通用新。
我们将Tibco的CDF进行一点的变化后,变成了我们的CDF格式。也定义以下规范:
1、在页面层,使用javascript脚本语言操作对象时,使用JSON。
2、在JAVA中,使用POJO。
3、组件之间使用CDF进行通信。
4、平台提供CDF、JSON、POJO之间自动转换的工具。
分享到:
相关推荐
IOS应用源码——Reinual-BingGaBong-7cdf1cf.rar
iOS游戏应用源代码——Reinual-BingGaBong-7cdf1cf.zip
资源名:计算CDF累加分布函数_Matlab程序_CDF 资源类型:matlab项目全套源码 源码说明: 全部项目源码都是经过测试校正后百分百成功运行的,如果您下载后不能运行可联系我进行指导或者更换。 适合人群:新手及有一定...
简单的绘制Cdf曲线程序
jeffreyningsoftware-CDF -异构数据库表同步 -实时数据库表同步 -支持数据库表插入、更新、删除数据同步 -多种部署方式 注意:version1.0;支持windows、linux、unix等平台;需安装jdk1.5;此版本为windows安装版本...
路斯特 CDF3000 基于直流安全电压的伺服驱动器(英文)pdf,路斯特 CDF3000 基于直流安全电压的伺服驱动器(英文)
关于cdf97小波的matlab代码,效果不错,里面有例子
This is a simple script two illustrate the concepts of Probability density function(pdf) cumulative density function (cdf). Two help pdfs are also included to understand the pdf and cdf concepts.
根据pdf或cdf生成随机数:根据用户定义的概率密度函数(pdf)或累积分布 函数(cdf)生成随机数- -mat lab开发 句法y = randdf(S,D,F) S - 维度的大小,整数值。 示例:S=10 创建一个 10×1 数组示例:S=[10,2] 创建一个...
图像对比度增强算法(PDF,CDF,直方图均衡化)源代码,欢迎各位下载评价,希望对大家有所帮助
改程序实现了mimo无线通信的容量的CDF、PDF等分布曲线
使用CDF9/7小波基进行SPIHT进行图像压缩,效果不错 可以直接运行
2.内容:通过MATLAB分别对比OFDMA,LFDMA以及IFDMA三种调制方式的PAPR值及其分布曲线CDF+matlab操作视频 3.用处:用于OFDMA,LFDMA以及IFDMA算法编程学习 4.指向人群:本硕博等教研学习使用 5.运行注意事项: ...
有CDF三角函数曲线/三维曲线图,包含CV、CA、Single、当前、恒转弯速率、转弯模型,鲁棒性好,性能优越。
绘制任意一个向量或者矩阵数据的累计分布曲线CDF
协作MIMO_输出频谱效率以及CDF曲线+含代码操作演示视频 运行注意事项:使用matlab2021a或者更高版本测试,运行里面的Runme.m文件,不要直接运行子函数文件。运行时注意matlab左侧的当前文件夹窗口必须是当前工程...
CDF – 一种自动测试加密软件正确性和安全性的工具
Here is the cdf of SIR WITH REUSE factor of 7
matlab代码,Matlab自带了很多累积分布的函数,例如累积正态分布拟合, 累积Beta分布拟合等。本文件实现累计beta分布拟合。
主要是基于mtlab的程序,添加噪声处理,有CDF三角函数曲线/三维曲线图,从先验概率中采样,计算权重,FIR 底通和带通滤波器和IIR 底通和带通滤波器,是信号处理的基础。