读书人

一直 困惑的有关问题关于界面 上的逻

发布时间: 2012-12-30 10:43:14 作者: rapoo

一直 困惑的问题,关于界面 下的逻辑代码
大家都知道 按纽下面不应该有大量代码,

于是 我们把业务逻辑封装在一个类里面 ,但 如果窗体上的控件很多(比如 有十个TEXT 等) ,很复杂 。

现在 需要根这些TEXT的数据 进行逻辑处理,完毕后 又把处理后的信息 在窗体上的另外十个控件上 显示出来。

这样一来,就导致 窗体控件与 业务逻辑类 紧耦合 ,我有时候

1:就把窗体上的控件传到 这个业务逻辑类里去 ,

这样方便对控件进行操作 但 一个麻烦是 传的东西太多了 。

2:通过消息来传递数据,但这样也有一些弊端 。

不知道 大家如何处理这个问题的。。。。欢迎讨论 谢谢 !!


[解决办法]
use observer model
[解决办法]
这个问题我是算半个专家吧,不过一两句话说不清,有空加QQ聊,312912745,吾研究这方面的问题已经研究了三四年了
[解决办法]
根据UI的逻辑构造DTO对象,根据你的描述,很可能第二个窗口也可共用同一个DTO对象.
DTO对象和业务逻辑对象用Mapping.

好处:
1. 这样一来,窗口逻辑和后台逻辑是相互独立的,互相不依赖,而Mapper对象却依赖于它们俩.
2. 窗口可以独立测试
3. 业务对象可以容易的重构而不影响UI的代码

针对你的案例:
1.从第一个窗口获取DTO对象
2.映射到业务对象.(用Mapper)
3.业务对象处理
4.把业务对象映射成第二个窗口的DTO对象.(用Mapper)

关于DTO:
http://martinfowler.com/eaaCatalog/dataTransferObject.html
http://en.wikipedia.org/wiki/Data_transfer_object

关于Mapper:
http://martinfowler.com/eaaCatalog/mapper.html

读书人网 >软件开发

热点推荐