JGoodies – 回答读者提出的问题

1 何为展示逻辑?是指事件处理吗?

这个问题最常见,当初我也问过我自己。事件处理属于展示逻辑,其他还有,比方说,针对不同的domain object要使用不同的panel(相关的设计模式是 presentation chooser), 显示不同的title; 当domain object在某个状态时,某些actions是disabled, 体现在GUI上就是某些按钮是不能按的;智能输入等等。或许你会接着问,这些难道不是应用逻辑(business logic)么? 的确是,但是这些应用逻辑是通过展示逻辑来实现的。 

2.1 看java tutorial,讲到Swing时说并不是严格意义上的MVC,更像您文章中提到的MVP,就是说它将VC全部实现在V上。

这个又是个经典的问题。Swing用的是自己扩展的MVC,比较确切地说是M-Jcomponent-VC, 和MVP不一样。

2.2 Presention Model里的Domain Object我能将其理解为MVC里的V吗?

我在这里讨论的所用模式都是在presentation layer的。而这里的Domain Object是属于domain layer的,我是为了强调PM的同步功能才把她加进来的。所以domain object自然不会是view了。 

3
以上几种模式我觉得都是在Observer模式上的一种改进,所以JGoodies提供的Binding机制也实际上是对Observer模式的一种封装,不知道可以这样理解吗?

以上这些模式和Observer处理的问题是不同的,如果展开又是一大篇。我试试从另外一个角度来回答你的问题。就像你理解的那样,Jgoodies
binding的确是对Observer的封装,她是利用Observer的功能来实现同步功能的。而presentation
model使用了binding的这种同步功能,以确保用户在GUI上的改动会自动传递给model甚至domain object。也就是说这几种模式内部会使用Observer。如果你认为这就是改进的话,也可以这样理解。

 转载自:http://polygoncell.wordpress.com/2005/12/23/jgoodies-%e5%9b%9e%e7%ad%94%e8%af%bb%e8%80%85%e6%8f%90%e5%87%ba%e7%9a%84%e9%97%ae%e9%a2%98/

你可能感兴趣的:(IE)