我需要哪种架构才能在多个项目中使用我自己的DLL?

时间:2013-10-28 11:36:10

标签: .net asp.net-mvc-4 architecture

我实际上是这个模式,3个项目在同一个解决方案中

IHM (MVC4) (Reference to BLL Projects)
BLL (Reference to DAL Projects)
    Users
    Tools
    Project_1
    Project_2
DAL
    Users
        QueryUsers.cs
    Tools
    Project_1
    Project_2

但我认为,我的方式是错误的,因为如果我的项目变得非常庞大,那么保持一个稳定的网站将会很困难。

我想使用此架构:1项目和添加程序集(DLL)参考:

IHM (MVC4)

并创建另一个解决方案:例如:用户

在这个“用户”项目中,我创建了2个子文件夹:Core - DAL

Project Users
    Core (Definition of what is a user for me)
    DAL
        QueryUsers.cs (Get data in Database)

当我完成这个项目时,在我的IHM中,我只是添加一个程序集引用。

问题(同样的问题): 我在哪里可以放置我将创建的所有DLL? 因为像“Users”这样的DLL会在其他项目中使用。但我不想复制我的“用户”程序集......我怎么能这样做? 您如何看待我的选择?

1 个答案:

答案 0 :(得分:1)

你现在拥有的设计非常精致,我认为你有一个很好的分层架构,即

  • 表示层(IHM)
  • 业务层(BLL)
  • 持久层(DAL)

不确定你的意思

  

但我认为,我的方式是错误的,因为如果我的项目变得非常庞大,那么保持一个稳定的网站将会很困难。

您认为它会以什么方式变得不稳定?听起来我试图为你的User类创建一个单独的DLL是完全矫枉过正的。如果您需要在特定层中进行组织,请使用文件夹/命名空间。

坚持原始设计,您可以清晰地分离关注点,并在系统增长时完美应对。

  

我可以在哪里放置我将创建的所有DLL?

鉴于它们将在多个应用程序中共享,请考虑将它们存储在GAC中。