0

我正在使用 Liferay 门户 6,请告诉我为什么要使用 Life Ray 用户对象而不是 CUstom Bean

public class UserBean {

private String firstName;
private String lastName;
private String middleName;
private long userId;
private String screenName;
}


The way we are getting User from Liferay
User userObj = UserLocalServiceUtil.getUserById(userId);

BeanUtils.copyProperties(UserBean, userObj);

我是 LifeRay 门户属性的新手,所以如果我的问题很愚蠢,请原谅

我的问题是,如果我有我的用户对象(UserBean)那么为什么我们需要访问 Liferay 用户?

4

1 回答 1

0

好问题。你对 Liferay 用户做了什么?您的用户是否存储在 Liferay 以外的其他地方?您是否在维护两组用户,一组在 Liferay 中,另一组在其他地方?BeanUtils.getProperties() 使用反射,因此您可能需要考虑一种不同的适应方法,而不管它为什么这样做。

我试图在字里行间阅读并弄清楚你为什么想做这样的事情。你能帮我把这个场景放在上下文中吗?请原谅我的无知,但我能想到的唯一原因是您希望能够在多个门户平台上部署您的代码。这是一个准确的评估吗?

如果这是一个准确的评估,那么我可以看到包装 Liferay 用户对象,您可能希望采用适配器模式。否则,如果 Liferay User 对象已经具有您放在 UserBean 类上的字段和方法,我不确定您为什么要包装它。

如果用例没有部署到多个门户平台,您能分享一下用例是什么吗?我很难找到你想要将 Liferay User 包装在你自己的 UserBean 类中的原因。实际上,我只能想出你不应该这样做的理由。我可以看到您如何担心您的公司会在将来的某个时候切换平台。这是一个合理的担忧,但不确定。针对不确定的未来需求进行编码和设计意味着将资源花费在可能不需要的东西上的风险。

于 2011-09-01T02:57:12.367 回答