首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >域模型与表示模型与一般函数

域模型与表示模型与一般函数
EN

Software Engineering用户
提问于 2015-10-05 10:05:31
回答 1查看 3.2K关注 0票数 4

在过去的一年里,我一直在为我的公司开发一个应用程序,我们正在使用

  • Java
  • 春天
  • Hibernate
  • Javascript
  • jQuery
  • Kendo UI

对于结构,我可以从后端到前端这样说:

后端(pojo > dao > bo > service > web服务)> UI (模型、视图模型、html/ view )

嗯,我想我知道如何对它们进行编码,但是今天早些时候,我的大四学生问我这个问题,我一个字也说不出来--天啊--我需要更多地了解这个概念。他问我这个

表示模型是什么,它与领域模型及其一般功能有何不同?我在找一篇又一篇文章的几个小时,但它让我更加困惑。有人能用“简单的解释”来解释吗?在java中pojo =域模型,在MVVM中是否有视图模型=表示模型?

EN

回答 1

Software Engineering用户

发布于 2015-10-05 14:24:20

域模型

域模型是没有任何表示特定代码的类的集合。想想一张纯粹的顾客名单。另外,还可以将buissnes逻辑添加到域模型中:修改/更改模型的代码。

表示模型马丁·福勒

正如福勒所描述的:

表示模型的本质是一个完全独立的类,它表示UI窗口的所有数据和行为,但没有用于在屏幕上呈现该UI的任何控件。然后,视图简单地将表示模型的状态投影到玻璃上。

当您阅读时,域模型和表示模型是完全不同的。如果域不在客户列表中,我们需要一个很好的GUI来显示这个列表。下面是表示模型,并定义了类,该类包含GUI中所有元素的状态。

POJO (普通-旧-Java-对象)

POJO是Java中的一个类,它只扩展Object。没别的了。

代码语言:javascript
复制
class Foo { // this is a POJO
}

class Foo implements Bar { // this is also a POJO
}

class Foo extends Baz { // this is *not* a POJO
}

MVVM (Model)

表示模型与MVVM略有不同。术语模型是领域模型。视图包含所有GUI元素。ViewModel只包含数据的正确表示,并包含数据绑定。这种模式需要使用任何类型的绑定,而表示模型则不需要。(福勒说有数据绑定,但没有说明在哪一类)

正如我们可以在这篇文章中看到的那样,MVVM是在表示模型之后出现的,我认为我们应该使用MVPVM。在MVVM中,ViewModel包含表示逻辑和创建数据表示的逻辑,这违反了单一责任原则。如果我们创建一个演示程序,并将表示逻辑放入该类,那么违规行为就会消失。所以我认为MVPVM与SOLID-Design兼容。

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

https://softwareengineering.stackexchange.com/questions/299024

复制
相关文章

相似问题

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