我刚刚遇到了 Delegate-Model 设计(相对于 MVC)并想尝试一下,最近也一直在学习 GOOS 风格的 TDD 开发。所以我希望我的步行骨架测试看起来像这样:(我正在使用 JUnit)
@Test
public void userGeneratesEvent_DNotifiesM_MNotifiesDOfUpdatedData_DGetsNewDataFromM() {
Model model = new Model();
Delegate delegate = new Delegate(model);
model.addListener(delegate);
// Not sure how to "generate the user event" here
assert( ... );
}
正如上面的评论,我的问题是我不确定如何从委托中正确生成用户事件。也许我对设计模式如何工作的理解不正确,但委托应该封装视图和控制器——我必须让视图从委托内部向控制器触发一个事件,但这种交互应该是“秘密的” “?
任何意见或建议表示赞赏。