【问题标题】:MVC and separate projectsMVC 和单独的项目
【发布时间】:2011-01-03 01:53:41
【问题描述】:

我是 MVC 的新手。我想将我的数据对象放在与我的主 MVC 项目不同的项目中。我是否只需将所有类和文件从我的“模型”文件夹移动到我的新所有项目中,然后在我的 MVC 项目中添加对新数据项目的引用?然后我将如何在我的控制器(仍在 MVC 项目中)以及我的视图中使用这些模型?

【问题讨论】:

  • Mh,您能否更具体地了解使用的编程语言、使用的框架等等?这有助于想象您想要什么。正如您的问题所说,我认为您可以“简单地”按以下顺序创建所有内容(我的意思是,实例化):-Model(不需要任何东西)-View(需要模型)-Controller(需要模型和视图)这样做是简单,我的意思是你可以在构造函数中设置一个指向模型和视图的指针
  • 对不起。我的错。我(错误地)假设 MVC 是微软的东西。对于那个很抱歉。我在 Visual Studio 2010 中使用 .net (4.0) 和 C#。
  • MVC 是一种设计模式,一种编码范式。 ASP.NET MVC 是 Microsoft 提供的用于完成它的工具集。为您更新了标签。 :)

标签: asp.net-mvc object project


【解决方案1】:

你正朝着正确的方向前进。事实上,对于除了最琐碎的项目之外的所有项目,我都喜欢将我的模型放在一个单独的类库中。然后,正如您所提到的,您可以从您的 MVC 项目中引用类库并使用您的模型类。好处是,一旦您在类库中准备好并完善模型,您就可以“公开”到任何类型的表示层,例如 MVC 项目或 Windows Phone 7,或通过 WCF 公开。

请记住,存储库不是模型的一部分。它们是持久性问题,它们应该只执行简单明了的 CRUD 操作。任何类型的操作都应该在模型层中进行。

【讨论】:

    【解决方案2】:

    您将使用适合您的实施技术的工具创建库。例如,使用 Java,您将创建包含模型的 jar。您可以将 jar 放在使用它们的任何项目的类路径中;一旦你这样做了,你就可以访问图书馆。

    如果您想重用模型对象和它们在多个地方实现的业务需求,这是一个好(好)的主意。例如,也许您希望客户使用您的模型 API 来实现他们自己的客户端类型。

    您可以将模型层作为自己的项目进行维护,或者将其保留在“主”项目中,并通过构建流程来生成所需的工件。你没有给我们足够的信息来给出最好的方法是什么的硬性答案。

    我可以这样说:大多数项目都是从一个项目中的所有层开始的。如果项目的一部分变得非常复杂,您可以重构出单独的项目——在我见过的一些项目中,Web 客户端非常复杂,可以成为拥有自己的开发团队(以及自己的 MVC 层)的自己的项目。在其他项目中,整个 MVC 堆栈都在一个项目中。请注意,您不需要 MVC 中的 M 位于单独的项目中以遵循范例。您只需要在正确的层中处理所有问题。

    【讨论】:

    • 谢谢。我只是在做一个非常小的学习项目。所以在现实生活中,我会保持它为一体。但是,我想将较旧的 Web 应用程序转换为 MVC。那有2个接口。 Winforms 和网络应用程序。我目前使用一个经典的 asp.net 网络服务,它有 bl 和 dl。这将转换为实体框架作为数据层,然后让 Web 服务引用 ef 项目。实际上不确定。然后我可能必须拥有一个共享类库,其中包含数据对象。实际上。我需要考虑一下。
    猜你喜欢
    • 1970-01-01
    • 2016-05-29
    • 1970-01-01
    • 2018-02-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多