决定三层架构

时间:2014-02-10 07:57:36

标签: c#-4.0 data-access-layer n-tier-architecture business-logic-layer loose-coupling

我正在开发一个体积相当不错的网络项目。与此同时,这个项目即将扩展到Android,iOS等多个平台。我的目的是集中可以跨多个平台访问的代码。

然而,我对组织图层(BL,DL,UI)感到困惑,因为我对这个设计事物很陌生。

我的目的是将与特定模块相关的所有代码保存在单个类库中。这就是我在每个模块中保留DAL和BL的原因。

方法1

      - (UI) Web Project          
      - Module1 (Class Library)
             - Module1.DAL
             - Module1.BL
      - Module2 (Class Library)
             - Module2.DAL
             - Module2.BL
      - Module3 (Class Library)
             - Module3.DAL
             - Module3.BL

方法2

      - (UI) Web Project          
      - DAL (Class Library)
             - Module1.DAL(folder)
             - Module2.DAL(folder)
      - BL (Class Library)
             - Module1.BL(folder)
             - Module2.BL(folder)

根据我的理解,大多数人都会接受第二次调查。但是,我可以使用第一次调试获得相同的解耦架构吗?

1 个答案:

答案 0 :(得分:0)

我认为方法1要好得多,因为你可以为单个模块隔离整个堆栈。但是,您可能希望将数据和业务类放在不同的项目中。

您还可以通过引入服务层来实现跨多个平台的业务逻辑共享。

如果想知道怎么做,请查看 http://serena-yeoh.blogspot.com/2013/07/layered-applications-3-tier.html

您也可以从这里下载样品。 http://layersample.codeplex.com