首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >抓来的信息专家和MVC中的Modell是一样的吗?

抓来的信息专家和MVC中的Modell是一样的吗?
EN

Stack Overflow用户
提问于 2014-03-28 16:17:03
回答 1查看 960关注 0票数 1

我刚开始读“应用UML和模式”(第二版)的书。其中一种抓取模式是信息专家,相当于Modell表单MVC吗?

他们是否有相同的职责(存储和检索信息)?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-03-31 04:09:06

抓来的信息专家和MVC中的Modell是一样的吗?

是和不。

他们是否有相同的职责(存储和检索信息)?

不是的。信息专家的资格不限于存储和检索信息。这通常是由一个持久的层,我们可以称之为“纯粹的捏造”。

抓取模式(我更喜欢它们作为原则)用于确定哪个责任属于哪个类,或者这个责任是否需要一个新的类。它帮助我们在课堂上保持设计整洁。另一方面,MVC是关于整个系统的设计--如何划分它。MVC的三个部分中的每个部分通常包含多个类。

首先确定架构模式和/或设计模式。然后,我们对系统必须履行的每一项职责应用抓取原则。

假设,我们有一个应用程序,但客户希望它以不同的口味或UI。数据和业务逻辑是相同的。因此,MVC是一个很好的选择,以保持模型的分离,并对所有客户重用它。

在我们的模型中,我们有一个客户类。该系统的一项职责是向客户发送电子邮件。Customer类存储关于客户的信息,因此它是信息专家。我们将电子邮件地址存储在Customer类中,并添加一个方法getEmailAddress()。如果我们在Customer类中添加“发送电子邮件”的责任,就违反了“高凝聚力”。因此,我们可以应用“纯捏造”,并添加一个新的类EmailSender,它接受一个电子邮件地址,主题和电子邮件主体。这个例子听起来很傻,但这是我能想到的最好的例子。

(在MVC架构中,模型拥有控制器和视图所需的所有数据。我想,从这个角度来看,OP认为模型是信息专家。)

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

https://stackoverflow.com/questions/22718037

复制
相关文章

相似问题

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