2010-04-25 64 views
6

我即将启动将具有控制台和GUI界面的应用程序。我想要实现的是COMPLETE应用程序逻辑与接口的解耦。将来,我还可能会添加Web界面,而且我不想在应用程序中更改任何内容。使用GUI的应用程序的最佳实践

是否有一个很好的例子(也许是一些开源项目),我可以学习如何正确地完成这项工作....同时,我会很欣赏有关如何做到这一点的建议/指导方针。

感谢

回答

4

一种很好的逻辑和UI解耦技术是Model View Presenter模式及其变体(被动视图和监督控制器)。有马丁福勒的着作,也有很多博客文章介绍这些模式。
我也建议你寻找MVP的另一个变种,叫做Presenter First。那里有一个良好的article这事,也是一个不错的java code sample(查找Java为例)

1

构建你的核心功能(1),你的命令行版本(2)第一(在那里他们都或多或少具有完整功能的点)。注意仔细设计/记录您的API。这样你就不能早期混淆逻辑和GUI部件。

例如,一个良好的分离命令行/ GUI应用程序的例子是mplayer例如(虽然人们可能会认为这感觉就像一个GUI停留的命令行应用程序)。

2

福勒GUI架构的一个很好的概述:http://martinfowler.com/eaaDev/uiArchs.html

我个人使用PresentationModel建立在我的应用程序 - 它使事物的表现方面完全与业务逻辑分离。

+0

任何一个很好的例子,我可以看看? – user318247 2010-04-25 18:31:39

相关问题