产品目录
TDD试验驱动力合作开发 : Test-driven development,即试验驱动力合作开发BDD犯罪行为驱动力合作开发 : Behavior-driven development,即犯罪行为驱动力合作开发DDD应用领域领域驱动力结构设计: Domain-drive Design,应用领域领域驱动力结构设计试验驱动力合作开发(TDD)是一类合作软件设计的操作过程,当中在撰写标识符以后先撰写试验。除非顺利完成,合作开发者将不懈努力撰写足够多的标识符以透过试验,接著已经开始解构。
域驱动力设计(DDD)是一类将同时实现与急速产业发展的数学模型联络在一同的合作LISP。将工程项目的重点工程项目放到核心理念应用领域领域(科学知识应用领域领域),另一面的逻辑上,并逼使控制技术和各方面间展开协同以改良数学模型。
犯罪行为驱动力合作开发(BDD)是对TDD和DDD的改良,意在透过增大沟通交流差别,加深对顾客的介绍并同时实现稳步沟通交流来精简合作开发。具体来说,BDD是将销售业务市场需求与标识符紧密结合在一同的一类形式,使您能从销售业务/终端用户的视角介绍控制系统的犯罪行为。
Hybrid Practice混和课堂教学
TDD
Test-driven development,即试验驱动力合作开发。一类合作开发操作过程中应用领域形式。其价值观为重依照市场需求抽象化USB,先撰写试验用例,接著在已经开始撰写合作开发标识符。TDD的原意是透过试验来促进整座合作开发的展开。
TDD说到底是先写前段段机能的试验标识符,试验失利后再写同时实现标识符,试验获得成功后接著迭代下一个机能。
TDD的优点:
提高机能的可测性试验比较灵活试验用例覆盖率比较高缺点:
由于是单元试验代码验证,人员看不懂标识符,比较难验证机能是否贴合市场需求先写单元试验标识符,试验用例需要经常调整,增加了合作开发者的工作量和降低了合作开发效率BDD
Behavior-driven development,即行为驱动力合作开发。其目的是鼓励软件工程项目中的合作开发者、QA和人员或商业参与者间的协同。是从用户的市场需求出发,强调控制系统犯罪行为。透过用自然语言书写非程序员可读的试验用例扩展了试验驱动力合作LISP,使用混和了应用领域领域中统一的语言的母语语言来描述他们的标识符的目的,让合作开发者得以把精力集中在标识符应该怎么写,而不是控制技术细节上,而且也最大程度的减少了将标识符撰写者的控制技术语言与商业顾客、用户、利益相关者、工程项目管理者等的应用领域领域语言间来回翻译的代价.
目前主流的BDD试验框架为Cucumber ,支持多种编程语言。
cucumber支持的关键字:
编程是透过使用以上的关键字来描述应用领域的机能,使非合作开发者能快速便捷的介绍标识符的机能。
DDD
Domain-drive Design,应用领域领域驱动力结构设计。其目的是以一类应用领域领域专家、结构设计人员、合作开发者都能理解的通用语言作为相互交流的工具,在交流的操作过程中发现应用领域领域概念,接著将这些概念结构设计成一个应用领域领域数学模型,再有该数学模型驱动力软件结构设计和合作开发。
应用领域领域数学模型
应用领域领域数学模型是是对具有某个边界的应用领域领域的一个抽象化,反映了应用领域领域内用户市场需求的本质应用领域领域数学模型只反映销售业务,和控制技术无关应用领域领域数学模型可以反映应用领域领域中的实体和操作过程应用领域领域数学模型确保销售业务逻辑都在一个数学模型中,有助于提高应用领域的维护性和可重用性应用领域领域数学模型可以让开发人员相对平滑地将销售业务科学知识转换为软件架构应用领域领域数学模型贯穿软件分析、结构设计,以及合作开发的整座操作过程建立正确的应用领域领域数学模型需要应用领域领域专家、结构设计、合作开发者积极沟通交流共同不懈努力,是大家对应用领域领域内的销售业务急速深入,从而急速细化和完善领域数学模型应用领域领域数学模型的表达形式有多种应用领域领域数学模型是整座软件的核心理念,结构设计足够多精良且符合销售业务市场需求的应用领域领域数学模型能更快速的响应市场需求变化应用领域领域驱动力结构设计的分成架构
用户界面/表现层应用领域层应用领域领域层 – 表达销售业务概念,销售业务信息和销售业务规则基础设施层销售业务对象的职责和策略:
实体(Entities):具备唯一ID,能被持久化,具备销售业务逻辑,对应销售业务对象值对象(Value objects):不具有唯一ID,由对象的属性描述,一般为内存中的临时对象,可以用来传递参数或对实体展开补充描述。工厂(Factories):主要用来创建实体,目前架构课堂教学中一般采用IOC容器来同时实现工厂的机能仓库(Repositories):用来管理实体的集合,封装持久化框架服务(Services):为上层建筑提供可操作的USB,负责对应用领域领域对象展开调度和封装,同时可以对外提供各种形式的服务DDD对构建企业级应用领域合作开发平台和大型核心理念销售业务控制系统的作用是相当大的,无论是在产品的稳定性、扩展性、可维护性、生命周期等各方面都有良好的表现
参考
The Value at the Intersection of TDD, DDD, and BDDHybrid Development: The Value at the Intersection of TDD, DDD, and BDDBDD vs TDD vs ATDD : Key DifferencesDifferences between TDD, ATDD and BDD