我发现自己需要让View公开它的模型和控制器引用。这是不好的设计的气味?或者这被认为是“安全”的做法?MVC范例:从视图中揭示模型和控制器
例如:我有一个列表(的ListView
,ListController
和ListModel
组成)和许多列表项(的ItemView
,ItemController
和ItemModel
组成)。
当我创建ItemModel
,ItemView
,并且ItemController
列表的每个项目,我通过ItemView
实例关闭的ListView
。但是,稍后,我的ListController
需要参考相应的ItemController
实例。
所以,这将是更恰当的同时通过ItemView
和中ListView::addItem()
的ItemController
,或只是通过在ItemView
和暴露为ItemView::getController()
实例方法等?
还是没关系?每种方法均可行吗?如果遵循他们的逻辑结论,两种策略都会导致反模式吗?
'但是,在稍后的时间点,我的ListController需要对相应的ItemController实例的引用 - 为什么?如果你正确地解耦你的类,你不应该需要这个。 – 2012-03-05 19:24:06
'当我创建ItemModel,ItemView和ItemController'时,您为列表中的每个项目创建一个控制器? - 这对我来说是一种气味。 – 2012-03-05 19:33:53
你在说网络或桌面应用程序吗?它们是有区别的。 – 2012-03-05 19:48:43