在过去的一年里,我一直在为我的公司开发一个应用程序,我们正在使用
对于结构,我可以从后端到前端这样说:
后端(pojo > dao > bo > service > web服务)> UI (模型、视图模型、html/ view )
嗯,我想我知道如何对它们进行编码,但是今天早些时候,我的大四学生问我这个问题,我一个字也说不出来--天啊--我需要更多地了解这个概念。他问我这个
表示模型是什么,它与领域模型及其一般功能有何不同?我在找一篇又一篇文章的几个小时,但它让我更加困惑。有人能用“简单的解释”来解释吗?在java中pojo =域模型,在MVVM中是否有视图模型=表示模型?
发布于 2015-10-05 14:24:20
域模型是没有任何表示特定代码的类的集合。想想一张纯粹的顾客名单。另外,还可以将buissnes逻辑添加到域模型中:修改/更改模型的代码。
正如福勒所描述的:
表示模型的本质是一个完全独立的类,它表示UI窗口的所有数据和行为,但没有用于在屏幕上呈现该UI的任何控件。然后,视图简单地将表示模型的状态投影到玻璃上。
当您阅读时,域模型和表示模型是完全不同的。如果域不在客户列表中,我们需要一个很好的GUI来显示这个列表。下面是表示模型,并定义了类,该类包含GUI中所有元素的状态。
POJO是Java中的一个类,它只扩展Object。没别的了。
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略有不同。术语模型是领域模型。视图包含所有GUI元素。ViewModel只包含数据的正确表示,并包含数据绑定。这种模式需要使用任何类型的绑定,而表示模型则不需要。(福勒说有数据绑定,但没有说明在哪一类)
正如我们可以在这篇文章中看到的那样,MVVM是在表示模型之后出现的,我认为我们应该使用MVPVM。在MVVM中,ViewModel包含表示逻辑和创建数据表示的逻辑,这违反了单一责任原则。如果我们创建一个演示程序,并将表示逻辑放入该类,那么违规行为就会消失。所以我认为MVPVM与SOLID-Design兼容。
https://softwareengineering.stackexchange.com/questions/299024
复制相似问题