代码生成器技术乱弹四,弹性万能界面

        在代码生成器的实现中,有一个问题也是制约大家能否研发出代码生成器的关键之一。那就是界面。大家知道代码生成器是有一定灵活性的。如果一个代码生成器不能指定数据对象的字段,所有的关系都是僵死的,这样的代码生成器相信不会有太多用户,所以,代码生成器需要有一定的弹性。

        在动词算子式代码生成器中,解决这个问题的是使用了我称之为弹性万能界面的技术,或者更准确的说是单页式弹性万能界面。

        在动词算子式代码生成器中有三个特殊字段domainid,domainname和activefield。而弹性万能界面也有三个,主页模板基本上没有功能,单表操作的Grid单页式弹性万能界面和专用于多对多关系的三栏式多对多弹性万能界面。

        可以做如下分析,弹性万能界面最大的问题在于,如何处理不同对象的不同的字段。动词算子式代码生成器的解决方案是把变化集中于域对象。对域对象而言getDomainId返回主键,getDomainName返回域对象的标准名字,getFields返回所有字段,getFieldsWithoutId返回除了主键的所有其他字段。如此等等,有了这些方法,您就可以赋予界面以弹性。

        下图是Grid弹性万能界面的截图:

        下图是多对多弹性万能界面的截图:

        希望上述文字解答了对代码生成器感兴趣的同学们的疑惑。如果您对动词算子式代码生成器感兴趣,请参考以下链接:

        https://gitee.com/jerryshensjf/InfinityJEEEU

        https://gitee.com/jerryshensjf/InfinitySimpleJEE

        https://gitee.com/jerryshensjf/PeaceWingSMEU

        https://gitee.com/jerryshensjf/InfinityGPGenerator

猜你喜欢

转载自my.oschina.net/jerryshensjf/blog/1821638