码迷,mamicode.com
首页 > 其他好文 > 详细

个人心得:UI既数据

时间:2016-04-09 20:19:24      阅读:142      评论:0      收藏:0      [点我收藏+]

标签:

这两天在做个图形方面的小程序,UI设计简直烦透我了。可能是受到设计模式的影响,之前也一直是这样,总想着“耦合”什么的,结果我把程序数据、程序部件和UI部分的关系搞成如下了:

技术分享

其中数据部分作为中间部分牵一发而动全身,其他所有部分都要考虑进去,把我绕的头晕目眩。

比如UI上有个数值变化了,那就好玩了,首先数据部分要变,接着通知其他部分 --- A、B、C都要变

再比如程序部件A改变了其中某个数据部分的某个数据,那么数据部分要变、UI要变,同时还要通知BC……,看似简单,实则繁琐

还有,其实这也应该可以使用监听模式。

再仔细想一想,发现数据部分里的数据UI都要呈现,UI数据和数据部分的极大部分数据都重复了,这才导致了繁琐的数据同步。之后我想到曾在某画图板程序中看到把UI当数据用的做法,就类似下面这样:UI中的get、set方法就充当了赋值、获取值的作用

// 拾取、设置颜色
pen_color_show_button.setBackgroundColor(e.getSource().getBackgroundColor())

在比如获取坐标

return Integer.parseInt( image_x_position_input_box.getText())

这下的关系图就像这样了:

技术分享

用户相当于组件D了,由原来的对数据进行读写再同步UI的两步走变成了直接把当UI数据进行读写的一步走。在编写小程序的时候太有用了。

数据冗余量大减,要写的代码又变少了,又有更多的时间陪陪家人了技术分享

个人心得:UI既数据

标签:

原文地址:http://www.cnblogs.com/night-ride-depart/p/5372321.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!