1.CodeArt是什么?
CodeArt(简称CA)是一套完整的创新式企业级开发框架。它将整个业务应用划分为四个层次结构:表现层、应用层、领域模型层和基础设施层。针对这4个层次CA提供了多项特性以满足开发人员的需要,它的特点之一是可以帮助开发人员彻底摆脱以数据库设计为中心的项目实施方式,令程序员不再忙碌于数据的增删改查等枯燥无味的低价值工作,转而专注于系统领域的设计。具体而言,使用CA开发应用程序具备如下特点:
1) 零风险。对,你没有看错,CA可以保证项目始终处在零风险的实施状态。众所周知,软件项目随着需求规模的增加,复杂性会成指数级增长。各种错综复杂的业务关系、少量或频繁的需求变更都会带来开发成本的大幅度提升。类似的经历相信大家都经历过,很多项目在初期开发都很顺利,但是随着完成的功能越来越多,系统暴露的问题也逐渐加剧,开发团队需要不断的修补,可是越是修正它们,它们就会变得越糟糕,最终导致系统彻底瘫痪。然而这一切在CA的开发模式下是不存在的,我们把一个普通程序员能在不犯错的情况下良好完成的需求规模衡量为1,那么无论你项目规模是大还是小,CA始终可以化整为1,令程序员们面对的的需求规模仅仅是最基本的1。
2) 与常规开发模式相比,CA可以提升5至10倍以上的综合开发效率。这里的综合开发效率是指开发新功能和维护、变更已完成功能的效率总和。一方面,CA提供了许多创新型模块来大幅度降低开发过程中遇到的各种问题,这包括不需要写任何JS的前端表现层框架、灵活百变的数据迁移对象DTO、实现了No SQL的领域模型层框架等组件。另外一方面,这些组件也会令你在项目实施中对现有功能的简单或复杂的改动都不会导致有依赖关系的模块的连锁改变。在修改或者新增应用程序功能的时候,需要改动的模块非常少,不会导致程序其他地方出现问题。
3) 100%重用性。使用CA开发项目重用度的目标只有一个,那就是100%。在常规开发中,重用这项特性很容易理解但是却很难实现,我们在许多项目中经常看到的情况是整个系统没有一个业务模块是可以重用的。类似数据库操作、缓存机制等技术模块的重用很容易办到,但是技术模块上的重用控制不了业务的复杂性,也无法降低开发成本。而在CA的开发模式下,我们会利用其提供的各项特性不仅将系统多维度切割成若干可以独立开发的最小单元,更重要的是这些单元可以无缝的协同工作,甚至独立分离出来提供其他项目使用。CA完美的实现了业务级别的重用,被重用的单元可以在不更改、不修改、不增加原有代码情况下,以扩展或继承的方式二次使用。
4) 为程序员增值。CA完美的实践了领域驱动的开发思想,极大降低了领域驱动在项目中实施的门槛。确切的讲,CA对现有领域驱动设计进行了细化和补全,同时提供了各项特性和决策判断的思路以便开发者能轻松的实施领域设计。因此,程序员的工作内容不再是围绕数据库做永无止境的增删改查操作,而是沉醉于领域对象该如何设计、子系统该如何切分、针对需求的变化该如何重构代码等富有创造力的工作,令每一位程序员不再是码农而是领域设计师,用创造力而非蛮力去处理项目中遇到的各类问题。
除了以上特点之外,CA自身是一个永久免费、开源并且终生维护、永不断更的企业级框架。目前CA提供了.Net Framework版,在近期我们还会完成.Net Core和Java版的开发工作,让更多的程序员能享受到CA带来的便利。