DFC是Dust,Farm和Crop的缩写,意为尘土,田地至谷底的分层。总而言之,Dust是平台源代码,Farm是开发平台,Crop是运行环境。
image.png

该公司把整个开发周期分为三个阶段。

一种是底层支持,如配置读写、通信管理、内存管理、程序外部控制、日志管理等等,为系统的运行提供必要的基本元素,就像没有土壤就无法运行一样,这就是Dust。


另一种是Farm,它是核心业务层,在这一层开发人员更注重业务逻辑的实现,只做修枝剪叶,而不关心土壤和水的质量等等。


最终,在Dust,Farm和时间的共同作用下,Crop获得了蛋。crop将是一个名称中包含版本信息的压缩包。在交付给客户或运营人员之后,您只需要通过一些简单的步骤就能使系统运行,这些都属于通用脚本。


讲了半天,还是没解决上面散列平台的缺点。别慌张,下面就让我们一起来看一看剑圣的三剑客是怎么剑舞的。
image.png

DFC三剑客之Dust

第一,为了考虑可扩展性,Dust被设计成基础模块的集合,例如通信模块、日志模块、错误管理模块、与外部通信模块等等,Dust的开发人员可以非常方便地将新模块集成到Dust,并向Farm的用户提供API。


该软件采用TDD开发模式,每一个模块都有相应的测试代码,只需要运行一个测试脚本就可以完成所有预先准备好的测试用例,模块的每一次发布和升级都会经过测试用例的“洗礼”。通过这种方式,可以最大程度地保证模块的可用性,并减少模块升级可能带来的bug。


Dust的另一个特性是自定义特性,通过使用编译开关,Dust可以使Dust几乎完全可装配,Transformers,随心所欲,随心所欲。他可以变成一个全能的人,或者只剩下一个小小的心灵。


为了进行版本管理,Dust为每个模块设置一个版本,而Dust有一个完整的版本,这样Dust版本就和各个模块的版本建立了对应关系,便于版本追溯、bug跟踪等。

在Dust中执行脚本,就可以方便地生成Farm开发平台。

DFC三剑客之Farm

Farm提供了简单的界面,使用户可以增加他们自己的业务代码,这显然给刚接触这个平台的新同学一个很大的帮助。


要解决代码和文档“分家”的问题,我们需要在Dust每个模块文件的外部接口中,详细描述这个模块的功能以及各个接口功能。Dust的各个模块接口对于Farm的消费者来说是开放和简单的,Farm的用户只需要阅读每个模块的头文件就可以很快上手。


法姆使用自动生成可执行文件的功能,如果添加了新文件,只需将文件名写到Makefile.am,就不用再编写makefo了。


对于配置混乱的问题,DLF的解决方案是:开发人员和运营人员使用相同的配置文件组,但是配置文件中会划分配置项目的消费者区域。


和Dust一样,通过执行Farm中的脚本,可以快速将可执行程序、配置文件、帮助程序等等打包成Crop版本。

DFC三剑客之Crop

交付到用户手中的Crop,使用方法是极其简单的,就像是一把伞,一按按钮,‘嘭’(而非432.4Hz的mac‘咚’)的一声就能打开用了。


DFC的一个开发原则是, 一切皆日志。不出问题尚可,一旦出了问题,用户只需将日志发给开发人员,即可快速定位问题所在,尽可能减少开发人员的直接维护或培训工作。


正如Crop的简单易用,本节的文字也是最精简的。

热门词汇: 工具/平台 DFC Dust
相关资讯
  • 创造资源 转化为资源视图,创建方法和目标,转化为写入下一个。点击左边的文字图标,添加一个注释,比如项目经理。单击资源图标(Balls)切换资源类型。建立群组的快捷方式与目标相同(option+command+L) ...查看全文>>

  • OmniPlan 最全教程(4) 2021-04-02 Omniplan_w

    步骤10:创建资源 其次,必须追加完成项目所需的团队成员、设备和材料。能够协助完成项目的所有人、基础设备和原材料都是资源。接下来我们开始操作。  创建资源的方式与创建任务的方式非常相似。转...查看全文>>

  • 缓存穿透、缓存击穿、缓存雪崩的区别及解决办法 缓存的确提升了系统的性能,但是使用缓存也会伴随着风险,当我们系统的大量数据都保存在缓存中,大部分请求都已经是走缓存了,那么此时缓存自身的可用性就显...查看全文>>

  • 初学maven(4) 2021-05-03 程序员_苗

    本篇我们来继续上一篇所讲的内容,了解一下maven仓库的作用,来看下个例子。下面我们来进入正文。 例2:第一,配置。采用莱单windows->preferences(基本参数)->maven。  选择Installations(...查看全文>>

  • 近日为配合各地疫情防控要求,国铁集团推出免费退票措施。针对近日全国部分地区出现多点零星散发病例和局部聚集性疫情,为配合各地政府减少人员流动、减少旅途风险、减少人员聚集疫情防控政策的落实,铁路部门对...查看全文>>

  •  当许多人开始使用OmniPlan时,我相信很多人并不知道如何使用它,下面,作者准备编写一系列OmniPlan教程,带你去了解OmniPlan。 了解OmniPlan: OmniPlan是OmniGroup公司旗下的一款用于项目管理的...查看全文>>

在线
客服
APP
下载

下载Android客户端

下载iphone 客户端

官方
微信

关注官方微信

返回
顶部