最近突然捡起这一套概念准备深入思考一下进行应用。
在以往IT系统的开发过程中技术人员会将系统中的业务分离为服务、过程、数据。并根据面向对象编程原理均抽象为对象。而当技术人员对系统业务的理解出现了偏差或者用户的业务、数据出现了变更这个时候需要技术人员花费大量的时间对程序进行修改。为了解决因业务需求变更导致程序修改的情况出现我觉的可以基于“面向概念的编程方式”。采用“通用值对象”进行系统建模。并且将用户的业务划分为数据模型和应用场景。在项目实施业务逻辑编写应用配置数据模型,执行时系统根据应用配置数据生成UI界面 ,UI界面产生的数据由应用逻辑根据配置数据模型进行接收。定义数据模型以后随时可以对模型进行扩展,使用通用值对象,不需要重新改写bean配合数据驱动,在模型发生变化后不用修改程序编码。“应用场景”主要是使用“相似概念”理论对业务的服务、流程、应用进行描述。采用“蒙版”的方式在不同的场景中根据用户属性的不同将通用值对像的不同属性显示给用户并屏蔽不需要的属性。
将技术人员与业务人员相分离
- 开发人员,开发人员是技术专家,他们不直接关注应用需求,他们为实施人员开发应用组件和应用工具
- 实施人员,实施人员是业务专家,他们可以根据客户的具体需求编写数据配置文件、调整模型、完善应用逻辑,他们不需要编程或只需要写脚本文件。
为解决用户需求变更问题,采用“需求后置”理论。因为系统采用的是“通用数据模型”与场景描述,这些数据模型的修改、应用场景描述的变更都不用更改程序直接应用。这样在用户修正系统的过程中健壮系统的应用功能,可以不断的对系统进行业务调整使其健壮,不存在软件生命周期的问题。
最终理想就是技术与业务相分离。实施人员或者用户都不需要懂技术,只需对业务进行理解,经过培训后可自行对业务平台进行搭建。例如:一个财务专家再不懂任何技术的情况下,经过平台人员的培训后,可以通过平台自行搭建一套财务软件。