我有一个应用程序,我目前正在使用视图堆栈来显示每个页面,我想知道这是正确的方式,或者我应该使用不同的状态(或其他东西)。
该网站由一个菜单栏提供支持,菜单栏包含主页、工具、支持等顶级项目。Tools菜单下面是一个带有Tool1、Tool2、Tool3的子菜单。目前,当用户单击工具子菜单中的任何工具时,我会从视图堆栈中调出一个子容器(每个子容器实际上都在一个单独的组件中)。
这是正确的方法吗,或者我应该使用状态来为每个工具页面显示适当的元素?
发布于 2009-07-23 04:38:46
这取决于视图的不同程度。如果它们非常相似,那么状态是很好的,因为它们有助于有效地重用在基础组件中已经定义的大量标记。如果它们是非常不同的视图,其他开发人员将更难维护这些状态,因为它不像每个视图的单独组件那样简单。
此外,ViewStack还允许使用延迟实例化。这由"creationPolicy“属性控制。DI意味着你的应用程序加载速度会更快,因为只有ViewStack的第一个孩子会被实例化。当您导航到其他子对象时,它们将按需实例化。
发布于 2009-07-23 04:33:54
州是要走的路。通过扩展基本状态,您可以轻松地重用状态并扩展其功能。
发布于 2009-07-23 22:46:56
正如cliff.meyers所说,如果屏幕之间的变化很大,可以使用视图堆栈。拥有复杂的状态转换将是维护的噩梦。
我通常使用组合的视图堆栈/状态解决方案。不同的屏幕在它们自己的视图堆栈中定义得很好,我使用状态在它们之间切换。
https://stackoverflow.com/questions/1169605
复制相似问题