运行时设计(Design at Run-time)

1、定义



    传统软件开发必须经历“设计时”和“运行时”两个阶段,运行时设计,顾名思义,就是在软件运行过程中,对软件进行实时设计修改,而无需再次进行编译,用户即可使用。


    “运行时设计(Design at Run-time)”,就是软件在用户使用过程中,可以通过设计器修改界面、功能、甚至对整个页面进行重新定义,保存发布后用户即可使用,而不需经过传统软件漫长的版本发布周期,也与传统快速开发平台功能更新后需要重启服务器,重启客户端等任何重置性操作有本质区别,整个软件修改后,无需编译,发布等过程,而直接保存即可让用户使用到即时修改的功能,它节省了大量开发、测试和发布所需的时间周期,而对客户的功能需求,更加定位准确。这是在2011年开始逐步开始形成的一种全新的软件开发理念和设计模式。



2、Any where、 Any Time调整业务功能的能力



       即软件在使用过程中可以对功能进行任意调整,而其它用户使用不受丝毫影响。即Any where、 Any Time对业务进行修改调整,而不会影响到其它业务,运行时设计实际上提供了强大的基础平台支持,同时管控和设计。功能开发和调整无需发布即时生效


3、核心内容



它的基本核心内容包括:


1) 脚本、表达式解释器技术:



      现代软件平台设计中大规模的引入脚本,之前业内偶尔见到使用脚本,这也会给软件开发技术上带来巨大的挑战与刺激,因为很少人会为了做一个软件,去定义一种语言,并为它编写解释器,这似乎是一个不可完成的工作,而动态编译横行的今天,似乎是杀鸡用牛刀了?然而为了更好的灵活性和更加运用自如,同时保证做到真正的“运行时设计”。快速开发平台更需要提供的动态编译技术,让灵活得到极大提升。



2) 智能窗体技术:



     在动态软件发展的今天,如果单单说动态界面已经很常见,而现代快速开发平台的动态界面技术,它不是去定义页面的某个位置的布局,而是全部页面都自己去定义,拖拉完成,同时配合动态数据源(业务表),它做到了快速定义页面,开发效率成倍提升。后来有人把部件和页面定义,统称为“智能窗体”。



3) 界面与数据源分离,低耦合技术:



     正如前面所讲,我们需要定义的是一套软件,而非一个页面的某个位置(动态表单),所以,必须做到数据与页面完全分离的技术,这也是运行时设计平台的核心技术之一,真正做到了完全的数据与界面分离。


4) 数据源动态定义技术:



     动态数据源技术,将数据来源划分,使数据有不同类别,如通过SQL语句形成,通过自己编写形成等,解决了数据来源的问题,而同时,定义了读写和只读的模式,读写表不但可以显示数据,还可以将变化的数据完整保存到数据库。


5) 解释执行与编译执行技术:



      为了提高效率,定义了脚本语法,编写了解释器,实际上,脚本解释器的运行效率非常不错,但是为了更加提高效率,运行时设计还会把代码做类似编译的处理,把它处理为树型结构的DOM,这有点类似于HTML的DOM结构,这样的做法,就是每次运行系统时,不再去解释语言,而直接“执行语言”。似乎说得有点悬乎。


6) 核心工作流技术:



     任何工作几乎都离不开工作流,大部分管理系统中,有一半以上是采用工作流来处理,运行时设计软件具备自主工作流引擎,可以处理工作流相关事务。


7) 高扩展性技术:



      利用现代语言可以很轻松的做到高扩展性,然而,即使所有设计都考虑得非常完美,也总会有10%在例外,所以,一个软件无论功能有多么强大,必须提供开发扩展,以供用户实现那10%的例外,所以这也是现代快速开发平台的重要一个特点,实际上,采用脚本技术,对于扩展性不需要做过多的设计并可自然获得,然而,它却有着非常重要的意义。


     以上7点技术,便是“运行时设计”的重要技术特性,它是贯穿现在软件快速开发平台设计始末,“运行时设计”,Design at Run-time,是现代软件快速开发平台的特点之一,也是非常重要的特性。


4、发展趋势:



       具备“运行时设计”的快速开发平台作为一种新型的开发工具,它不仅具备传统快速开发平台的所有优势,而且运行时设计能让在用户使用过程中立即对软件功能进行调整,同时节省大量返回公司调整、修改、发布所需要的时间周期,对于准确把握客户需求,提高客户满意度,节省研发成本方面,有不可替代的作用。相信越来越多的平台公司会加入“运行时设计”的理念,做更好服务于客户的人性化软件。




 
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Real-Time Design Patterns<br><br>Many of us have had the experience of working with a truly great software designer. They<br>have the ability to look at a really hard problem and seemingly with no effort construct an<br>elegant and practical solution. Afterward, we all slap our foreheads and say “Of course!<br>It’s so obvious!1” How do those Great Designers actually come up with these great<br>designs in the first place?<br>By training, I am a neurophysiologist. During my medical school years, I primarily<br>studied information processing in biological neural systems2. The process of coming up<br>with Good Designs occurs in three phases:<br>· Internalization<br>· Pattern Matching<br>· Sequential Analysis<br>The first phase, internalization, is a linear process of gathering information. What are the<br>functions of the design? What are its constraints? What aspects of the design should be<br>optimized at the expense of others? This is a process of gathering and organizing<br>information about the system under design.<br>The second phase, pattern matching, is an inherently nonlinear process and is performed<br>almost exclusively by the subconscious mind. It is exactly this kind of thinking that has<br>occurred place when The Answer suddenly comes to you in the shower or when you wake<br>in the middle of the night. It often happens to me when I go for a run. I even go so far as to classify problems by how far I think I’ll have to run to come up with a solution. I might<br>tell my boss, “Gee, that’s a 10-mile problem. I’ll see you in a couple of hours – bye!3”<br>I believe that subconsciously our rather impressive pattern matching apparatus goes to<br>work on a pre-analyzed problem (that’s where the internalization phase comes in) and<br>does “best fit” pattern matching comparing thousands of patterns while our conscious<br>mind is off doing other things. Only when it finds a close-enough match (a potential<br>design solution) does it signal the conscious mind.<br>Just because the subconscious thinks it has found a good solution is no guarantee of the<br>quality of the proposed solution. Once identified, it is up to the linear processing system<br>of the brain to take the proposed solution and see if it does in fact meet our criteria. This<br>is the process of sequential analysis that is applied to a proposed solution. Most often,<br>this takes the form of mentally applying scenarios against the design pattern to ensure that<br>it in fact meets the necessary criteria and optimizes all the right things.
YOLO高分设计资源源码,详情请查看资源内容中使用说明 YOLO高分设计资源源码,详情请查看资源内容中使用说明 YOLO高分设计资源源码,详情请查看资源内容中使用说明 YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值