我正在尝试从桌面应用程序(JavaFX)中抽象一些功能以更改视图。 所以,我在想的是:
导航器接口,带有诸如goToAccountsOverview()
,goToAccountDetails(Account account)
等方法。实现将依赖于ViewFactory
来创建视图,而依赖于DisplayingViewChanger
来更改正在使用的视图显示。
根据应用程序的状态,将有多个导航器界面,
NotConnectedStateNavigator
(goToConnectToDatabase()
,goToCreateDatabase()
等)ConnectedStateNavigator
(goToAccountsOverview()
,goToAccountDetails(Account account)
等)因此,每个州都将拥有自己的导航器和视图工厂以及一个通用的视图转换器。
视图工厂和导航器将不会共享一个公共界面(分别为createView(ViewEnum v)
和goToView(View view)
),因为我无法想到一种传递参数的方式(例如,用于创建帐户详细信息视图的方式)我通过了帐户模型吗?)。
听起来还好吗?
另外,DisplayingViewChanger
对我来说听起来不是一个好名字,但我想不起其他任何事情。也许SceneChanger
?有什么建议吗?