有朋友曾经问到一个问题,“代码生成”在很多开源框架里面都有这个功能。就是根据表的定义,自动生成与程序设计相关的前后端代码。
当然,无容置疑,我们的RDS也是这样的。只是除了CRUD我们还有什么?
我们的系统其实也是代码的搬运工,我们不能创造什么代码,我们提供的是一种可以通过表单设置,就可以让我们的设计保持足够的灵活性的方法。
除了增加、修改、删除、查看详情外,我们的系统提供了经常会使用的,导入,导出,打印,修改字段,跳转,弹窗,无关联操作等方法。这些方法没有什么神奇的地方,甚至可以说是有些简陋。那么,他们是如何提高我们的开发效率的呢?
首先,开发就是一个配置的过程,我们在定义一个按钮操作的时候,我们需要:
定义后端针对这个按钮需要调用的方法,并将方法依赖的控制器、服务、模型等一一创建好。
针对这个方法需要进行接口授权,或者后端菜单和方法的授权
针对这个方法在前端需要创建jsapi,以便确定如何调用这个接口
针对这个访问我们需要在前端为之创建一个按钮,并根据权限确定其显示还是隐藏
OK,到此为止,主要的事情我们都落实好了,那么其具体功能才能被进一步的考虑到。那么在此之前的这些操作,其实都是有规律可循的,完全可以不用程序员去自己定义或者修改。
那么如果,我们将上述的四步都交由程序完成,那么我们只需考虑的就是这个按钮背后需要实现的业务逻辑是什么就可以了。
而RDS其实要做,而且正在做的就是这个工作,我们将程序化的操作,总结汇总起来,找到其中的规律,让我们的代码生成器来做好四个方面的工作,将业务的实现留给程序员。当然我们有些方法甚至是把业务也给简单的实现了,而且完全可堪一用。
比如我们抽象出来一种方法“无关联按钮”,什么是无关联按钮?
我们修改一个行的数据,必须选中一行,这个按钮就与一行有关联
我们删除几个行的数据,必须选中多行,这个按钮就与多行有关联
那么无关联按钮,就与行无关。
比如,如下图所示,我们为会员模块生成测试数据的按钮,他就是一个无关联按钮
这种按钮给我们提供了足够的灵活性,首先是按钮要完成什么功能,我们并没有提供,只是提供了后端控制器中的一个方法。剩余的其他四项,我们都帮您做完了。
当然,无容置疑,我们的RDS也是这样的。只是除了CRUD我们还有什么?
我们的系统其实也是代码的搬运工,我们不能创造什么代码,我们提供的是一种可以通过表单设置,就可以让我们的设计保持足够的灵活性的方法。
除了增加、修改、删除、查看详情外,我们的系统提供了经常会使用的,导入,导出,打印,修改字段,跳转,弹窗,无关联操作等方法。这些方法没有什么神奇的地方,甚至可以说是有些简陋。那么,他们是如何提高我们的开发效率的呢?
首先,开发就是一个配置的过程,我们在定义一个按钮操作的时候,我们需要:
定义后端针对这个按钮需要调用的方法,并将方法依赖的控制器、服务、模型等一一创建好。
针对这个方法需要进行接口授权,或者后端菜单和方法的授权
针对这个方法在前端需要创建jsapi,以便确定如何调用这个接口
针对这个访问我们需要在前端为之创建一个按钮,并根据权限确定其显示还是隐藏
OK,到此为止,主要的事情我们都落实好了,那么其具体功能才能被进一步的考虑到。那么在此之前的这些操作,其实都是有规律可循的,完全可以不用程序员去自己定义或者修改。
那么如果,我们将上述的四步都交由程序完成,那么我们只需考虑的就是这个按钮背后需要实现的业务逻辑是什么就可以了。
而RDS其实要做,而且正在做的就是这个工作,我们将程序化的操作,总结汇总起来,找到其中的规律,让我们的代码生成器来做好四个方面的工作,将业务的实现留给程序员。当然我们有些方法甚至是把业务也给简单的实现了,而且完全可堪一用。
比如我们抽象出来一种方法“无关联按钮”,什么是无关联按钮?
我们修改一个行的数据,必须选中一行,这个按钮就与一行有关联
我们删除几个行的数据,必须选中多行,这个按钮就与多行有关联
那么无关联按钮,就与行无关。
比如,如下图所示,我们为会员模块生成测试数据的按钮,他就是一个无关联按钮
这种按钮给我们提供了足够的灵活性,首先是按钮要完成什么功能,我们并没有提供,只是提供了后端控制器中的一个方法。剩余的其他四项,我们都帮您做完了。