|
我们打开门户网站时,往往会看到很多排列紧密的频道列表,如“新闻”、“财经”、“娱乐”等。频道为网站提供了方便的导航功能。 VScLinux联盟 本文主要讨论在asp.net框架下实现多频道网站架构的几种方案,并从代码重用性、开发方式、部署等几个方面来对各方案进行分析。 VScLinux联盟 VScLinux联盟 方案一 方案二 方案三 VScLinux联盟 表现层 整个网站的表现层(.aspx,.ascx,.css,.js等文件及其对应的.cs文件)都位于一个Web Project中,每个频道对应于一个目录,每个频道下面可能有"Images"、"Style"等子目录。这是最简单的一种方式,类似于ASP中的处理方式。 各频道的表现层(.aspx,.ascx,.css,.js等文件及其对应的.cs文件)分别位于不同的Web Project中。 各频道的表现层(.aspx,.ascx,.css,.js等文件及其对应的.cs文件)分别位于不同的Web Project中。 VScLinux联盟 业务层 可与表现层位于同一个项目或者包含在独立的Class Library Project中。 VScLinux联盟 可与各频道表现层位于同一个项目或者分别包含在独立的Class Library Project中。 包含在独立的Class Library Project中,供所有频道表现层调用。 VScLinux联盟 代码重用性 建议将业务层包含在独立的Class Library Project中,这样能获得较高的重用性。 每个频道都有与其对应的业务层,代码较为分散,重用性较低。 所有频道共用一个业务层,代码较为集中,具有很高的重用性。 VScLinux联盟 开发方式 模块较为集中,开发较为快捷,但不适合多人协同开发。 各模块较独立,适合按照模块分配任务的开发方式。 开发方式较为灵活,既可以按照模块分配任务,也可以按照架构的各组成层分配任务 VScLinux联盟 部署 模块较为集中,部署比较方便,但一个小的BUG可能会导致整个网站的瘫痪。 模块比较分散,部署非常困难,但由于各频道是松耦合的,一个频道的故障不会影响到其他频道的正常运行。 模块比较分散,部署比较困难,但由于各频道是松耦合的,一个频道的故障不会影响到其他频道的正常运行。 VScLinux联盟 VScLinux联盟 关于业务层: VScLinux联盟 这里的业务层比较抽象,可以拆分为对象实体层、对象操作层、数据访问层等。笔记强烈建议对于中小型系统可将对象实体层、对象操作层、数据访问层合并为一个业务逻辑层,这样可以极大的减少开发及维护成本。
Linux联盟收集整理 ,转贴请标明原始链接,如有任何疑问欢迎来本站Linux论坛讨论 |
|