《基于Modern工具包的本地化方式》的重构

在前文,本地化是通过一堆判断语句去切换本地化文本,而且还要记录原文本,比较麻烦,执行起来逻辑比较多,也不畅顺。更重要的是,之前已经实现的表单字段标签的自动化和列标题的自动化很难去实现了,又要加一堆判断逻辑,这样的代码,有很重的异味,必须做改进。

要解决判断过多的问题,比较简单,根据对应的类重写相应的类就行了。余下就是要解决localized方法,这方法需要记录属性的原始值,然后做转换,再调用set方法输出,整个流程太麻烦了。现在的焦点就是哪个原始值,如果直接用另外一个属性如langText来记录按钮的原始值,然后在切换本地化的时候,重新使用setText方法输出不就行了?想到这,思路豁然开朗,几个关键的属性titletextlabelhtmlmessage都可以使用这种方式实现,而且要重写的属性也不多,确实是不错的办法。更重要的是,使用这种方式,可以很容易的就实现标签的自动化和列标题的自动化,真是一举多得。

经过一阵折腾,终于完整实现了整个功能,不过日期选择面板哪个暂时还没找到合适的方式去更新。

由于这次文件比较多,就不贴代码了,有兴趣的可以自己去看演示程序:演示程序

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值