首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Spring业务对象建模

Spring业务对象建模
EN

Stack Overflow用户
提问于 2017-07-06 01:36:14
回答 2查看 51关注 0票数 0

我们正在构建一个可以处理从web应用程序或拨号器应用程序代理的帖子的服务。用户可以通过电子邮件、短信、电话或应用程序确认或取消约会。

复杂的因素是,对于应用程序和电子邮件,你会得到一个离散的“确认”或“取消”操作,而在电话通话中,你会得到一个数字按下,而在短信中,你会得到一个关键字,比如“确认”或"C“。(更复杂的是,对于不同的帐户,关键字或数字将解析为不同的操作。)

这是我的问题。我们接收一个post,并将其序列化为一个包含所有相关信息的UserInteraction POJO,并将其持久化到数据库中。不幸的是,就业务逻辑而言,此POJO不包含用户正在采取的离散操作的抽象。

我是否应该在POJO中添加类似如下的内容:

代码语言:javascript
运行
复制
@Transient
private ResponseType responseType;

或者,这个附加属性是否应该作为单独的参数传递其生命周期中的所有方法?

如果我将ResponseType分开,方法签名将如下所示:

代码语言:javascript
运行
复制
public GenericResponse handleConfirmation(UserInteraction userInteraction, AppointmentInfo apptInfo, ResponseType responseType) 
EN

回答 2

Stack Overflow用户

发布于 2017-07-06 01:55:52

如果考虑到重构成本,那么在POJO中使用瞬态属性似乎是足够公平的。但是,在不了解其他环境因素和API依赖的情况下,很难区分这两种解决方案的效果。

票数 1
EN

Stack Overflow用户

发布于 2017-07-06 03:36:04

国际海事组织根据你的决定是否'responseType‘是'UserInteraction’抽象的一部分,即。它能被认为是“用户交互”的一个属性吗?

根据您的描述,我认为是--解决实际的响应(即.CONFIRM、C等)到相应的离散枚举/类型,在POJO属性上设置,然后在db中持久化。

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

https://stackoverflow.com/questions/44932688

复制
相关文章

相似问题

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