主要内容

依赖政府功能

MATLAB®您想要部署的代码通常携带状态——特定的数据值在程序或程序变量。

我的MATLAB函数执行状态?

MATLAB程序的携带状态的例子包括,但不限于:

  • 修改或依赖于MATLAB路径和Java®类路径

  • 访问MATLAB状态,本质上是持续的或全球。一些例子包括:

    • 随机数种子

    • 处理图形®根对象保留数据

    • MATLAB或MATLAB工具箱设置和偏好

  • 创建全球和持久的变量。

  • 为MATLAB装载MATLAB对象(MATLAB类)。如果你访问一个MATLAB对象以任何方式,它加载到MATLAB。

  • 打电话给墨西哥人文件、Java方法包含静态变量或c#方法。

防御性编码实践

如果你的MATLAB函数不仅携带状态,但也依赖于它对于函数正确执行,您必须采取额外措施(在这一节中列出),确保保留状态。

部署应用程序时,请考虑您携带状态的情况下,如果需要,维护对该州的腐败。假设你的国家可能会改变防守和代码在这种条件。

以下是“防御性编码”实践的例子:

在已部署的应用程序重置系统生成的值

如果您正在使用一个随机数种子,例如,重置在已部署的应用程序,以确保原始的MATLAB函数的完整性。

全球或持久性变量值进行验证

如果你必须使用全局或持续变量,总是验证他们的价值在你的已部署的应用程序,如果需要重置。

确保访问数据缓存

如果你的函数依赖于缓存回复先前的请求,例如,确保部署的系统和应用程序能够访问缓存之外的MATLAB环境。

在可能的情况下使用简单数据类型

简单的数据类型通常不绑定到一个特定的应用程序和存储状态的手段。你的选择选择一个适当的state-preserving工具增加你的和特定的数据类型变得不那么复杂。

避免使用MATLAB回调函数

避免使用MATLAB回调,等计时器。回调函数可以中断和覆盖的当前状态MATLAB生产服务器™工人和在多用户环境中可能产生不可预知的结果。

技术保护状态

最合适的方法来保存状态在很大程度上取决于您需要保存的数据类型。

  • 数据库提供最多才多艺的和可伸缩的方式留住有状态数据。数据库作为一个通用的存储库和通常可以使用任何应用程序在企业开发环境。它不要求或限制的数据结构或布局。另一个相关的技术是使用用逗号分隔的文件、应用程序等微软®Excel®

  • 数据是特定于第三方编程语言,如Java和c#中,可以使用各种技术被保留。咨询适当的第三方供应商的在线文档保存状态的最佳实践。

谨慎

使用MATLAB负载保存函数常被用来保存状态在MATLAB应用程序和工作区。虽然这可能是成功的在某些情况下,强烈建议如果需要数据进行验证和重置,如果不是存储在一个通用库等数据库。