首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Java设计模式

Java设计模式
EN

Stack Overflow用户
提问于 2012-03-30 04:03:13
回答 5查看 479关注 0票数 3

我是设计模式的新手。我有一个小项目,其中java类在没有连接到服务器时使用虚拟数据。我在类中有一个if条件,它根据一个标志在虚拟数据和服务器数据之间切换。有没有更好的方式实现这一点?

EN

回答 5

Stack Overflow用户

发布于 2012-03-30 04:08:32

您应该编写一个接口来定义与服务器交互所需的所有方法,并引用该接口而不是具体的实现,而不是使用'if‘语句来控制代码。然后,让你的“虚拟数据”实现那个接口。

这样做的好处是,您的代码将以一种不依赖于服务器实现的方式编写。这将允许您在不更改客户端实现的情况下更改服务器上的详细信息。

票数 4
EN

Stack Overflow用户

发布于 2012-03-30 04:09:16

您需要一个Data Access Object,或者一个在请求程序和数据之间充当代理的对象。

您向DAO请求数据,根据它的配置,它会用您的服务器数据或其他数据进行响应。其他数据可能是新实例化的类、文本文件中的数据等。

In this image,“业务对象”是您的程序,“数据访问对象”是可重新配置的看门人,“传输对象”是所请求数据的对象表示,而“数据源”是您以前用来获取数据的接口。一旦“数据访问对象”就位,向其添加代码以“选择”所需的数据源(DummyDataSource、FileDataSource、JDBCDataSource等)就不难了。

票数 1
EN

Stack Overflow用户

发布于 2012-03-30 04:12:57

我建议使用Repository pattern来封装您的数据层。为Repository创建一个接口,并有两个具体的实现,一个用于虚拟数据,另一个用于服务器数据。使用Factory pattern创建存储库。工厂将根据您是否已连接来返回正确的存储库的具体实现。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9932639

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档