我们知道从 Netty
中解码消息后,会构建我们业务的领域对象,可能是不同接口的 Request
比如
interface MyService { ResultDTO search(SearchReqeust reqeust); ResultDTO recommend(RecommendReqeust reqeust); ResultDTO suggest(SuggestReqeust reqeust); }
但是我们 symphony
项目里,是所有服务接口统一的入参,用 JSONObject
来承载参数,底层是 map
封装,参数扩展性强。通过一些领域类里常量来获取 value
public final class Article { /** * Article. */ public static final String ARTICLE = "article"; /** * Articles. */ public static final String ARTICLES = "articles"; /** * Key of article title. */ public static final String ARTICLE_TITLE = "articleTitle";
业务上这样使用:
article.put(Article.ARTICLE_T_AUTHOR_NAME, author.optString(User.USER_NAME)); article.put(Article.ARTICLE_T_AUTHOR_URL, author.optString(User.USER_URL)); article.put(Article.ARTICLE_T_AUTHOR_INTRO, author.optString(UserExt.USER_INTRO));
那么和定义带有具体属性的领域对象有啥优缺点考量么?
欢迎来到这里!
我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。
注册 关于