【发布时间】:2013-02-28 00:43:17
【问题描述】:
在可维护性、可扩展性和性能方面,在多个子系统之间共享数据对象的最佳方法是什么?
我的意思是,我有这个具有这些层的系统:
controller <-> Service (bl) <-> Domain <-> Database
我们可以有 N 个controller,来自 Web 或可以访问 Service 层的 Web 服务,所以此时我们有一个 API,N 个子系统将使用它。
我正在使用带有所需实体的ORM,我们在服务和域层内的任何地方处理这些实体。
我的问题是,将这个数据对象(信息)从我的服务层共享到子系统的最佳方法是什么?
地图? XML
【问题讨论】:
-
您能否澄清一下“分享”的含义。你的意思是发送它们,序列化它们,缓存共享实例......
-
我的意思是,发送到服务或控制器...也许服务会有这个方法 postToStackOverFlow(User user, Question question)。 User 和 Question 是用作实体的同一对象。我不喜欢在表示层中使用这些相同对象的想法。我应该改用什么?
-
为什么你觉得你不应该在表现层使用它们?大概它们只是豆子,对吧?在某些情况下,如果我的域对象与我的表示层(例如表单数据)不匹配,我可能会为此创建一个 bean。
-
因为我们正在将项目模块化成许多其他项目,并且我们不希望项目依赖于一个到另一个以及从另一个到另一个。
-
但是,如果您有很多控制器和大量数据对象,请考虑以企业服务总线为核心构建 SOA。
标签: java spring jakarta-ee architecture