【发布时间】:2012-10-17 09:21:12
【问题描述】:
鉴于视图上有文件选择小部件,并且控制器需要处理选择文件的事件,我是否应该编写控制器方法:
public void fileSelected(String filePath){
//process filePath
}
或
public void fileSelected(){
String filePath = view.getSelectedFilePath();
//process filePath
}
第一种方法似乎在 C 和 V 之间引入了较少的耦合:C 不知道 C 在处理给定事件时究竟需要什么数据。
但它需要在V端创建很多类似于getSelectedFile的详细方法。
另一方面,在比示例更复杂的情况下,第二种方法可能会导致控制器方法混乱(要传递的数据比 filePath 多得多)。
根据您自己的经验,您更喜欢哪种方法?
【问题讨论】:
标签: model-view-controller design-patterns conventions