`
zendj
  • 浏览: 122077 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
文章分类
社区版块
存档分类
最新评论
阅读更多
如果你的系统是大型的软件开发,那你就要做好更多层的分解,但是原则和理论上,我认为,不用分得太细。我们都知道,MVC模式把系统,分成ModelViewController。这样的分法是把表示层同逻辑层分开,也就是说把页面设计师同软件设计师分开。系统分析师再把各个功能写成接口,软件设计师就可以通过业务逻辑来写程序。
我所说的四层架构的分法,就是想把软件设计师工作量降下来,减少重复性的代码,提高开发速度,使软件有相当好的可维护、易扩展,这种四层架构对多人开发同软件来说,可以有个清晰的思路。我把系统分成表示层(UI)、业务逻辑层(Bussiness)、数据访问层(DataAccess)、数据实体层(DataEnity)。如果你还考虑到数据库设计的话,就是五层架构。我的出发点是从软件设计师角度,所以说是四层。其中,最好把所有的存储过程和SQL语句都写在数据库里,可以便于数据库的改变的修改和维护,同时也可以减少程序中的不稳定性。接下来,就是讲到如果更合理、更有效地把复杂的系统分析成多层,以达到系统的结构清晰、提高速度。
数据实体层(DataEnity)就是把实际数据库里的映射到内存中,也称为OMapping。其中有数据框架(.XSD格式)、也有微软提供的方法:继承DataSetDataTable等。这层也是对微软技术的熟悉程度,对.net FrameWork类库中ADO.NET的学习是很关键的。
表示层主要就是做好合理的、适合客户的页面,这主要是美工的工作,程序员只需把对应的数据传过去就行了。当然,这就是你对ASP.NET控件的熟悉程度了。也是对微软技术学习中慢慢积累起来的。如果客户有需求你做电子商务,那你就要考虑用到Web Server,还要用到XML。从系统分析来说,表示层就是输入操作与输出操作的平台,你要把要输入的数据转换到下面一层及业务逻辑层(Bussiness)要可以操作数据,和把下层业务逻辑层(Bussiness)传出的数据,转成客户想要的效果,格式有很多种:是Office的格式(.doc/.exel等),还是图形图像,还是报表等及其它格式。对WEB技术来说,我们要把页面设计的一些元素统一管理,可以创建一个图书馆(Lib):图片放入(Images)、脚本放入(Js)CSS。其中还有上传图片、附件 可以新建一个文件夹(LoadFilder)。做成这些程序设计外的准备以方便设计阶段的有上清晰的认识。
数据访问层(DataAccess).NET的核心技术的运用,当从这层的表面意思,你应该知道,这是对数据进行底层和原始数据的操作,要把提高开发速度与质量就是做好数据访问层的分析的优化。当然,业务逻辑层的业务逻辑分析很重要的,我现在讨论的数据访问层只对SQL Server数据库的操作,不讨论对其他数据库的操作。对数据库操作,要做到事务处理及异常捕获,及各种不种数据库之间联系。比如:对单表的操作、对联系表的操作,对不同数据库间的操作,从SQL语句来说,就是做好InsertSelectupdatedelete的应用,对数据库的操作就是可以返回不同的数据类型,可是DataSetDataTableDataReaderBool等,在.net架构里,可以把这一层基类写详细、写完善,把它生成DLL文件。只要通过组件的引用就可以现实数据访问的功能,所以你写好了,就可以把数据访问层的写代码量的时间省下来。数据访问层主要是能对数据进行四种常用操作,也就是数据读入输出的作用,可以用SQL语句,也可以用参数如:DataTable的变通方法。程序设计的开发,就是从数据库设计开始,这足以说明数据库设计的关键。
现在来谈谈业务逻辑层(Bussiness),我在学习其他的多层架构时,在想这多层架构嘛,只要一个就够了,只要能提高开发速度,达到可易维护性、可扩展,就行了。有一种架构,把页面写类库完全分开,这就是用到CodeBehind技术,在开源的时代,我个人认为这种代码才是最好实现隐藏性把页面与程序的彻底的分开,使系统有很大的扩展空间,这种方案有待下次讨论,这里先做个标记。此层关系系统是否可用的关键层,越是关键就越觉得模式的重要性,一种做法是:同数据访问层相对应,把概要设计分出的角色类添加方法、属性、事件、索引、接口。真正代码的实现部分就在这里,这是一个智慧的地方。可是没有人注意到这一点,只认为这一些的代码无非是对数据访问层的一种重用。第二种做法是:定义接口把它的代码实现部分包装起来。在这种做法中,可以用到多种设计模式。
有的人把通用的基类及通用的函数到通用层,或是把通用的基类写到各个层类。这是种不可取的方法。如果有一个框架层(FrameWork),这一层做什么用的呢?就是要通用的类库集中在这层。也是一个通用的基类,可以把一些常用的基类换在这层。也可以动态引用动态类库。对软件技术开发来说,对已有技术的一种引用是一种聪明的做法、也最有效的做法。
分层分得太多可能会增加软件的复杂程度。如果是小型性软件,要的就是简单与易用,没有必要分太多,对于扩展性的问题,可以运用框架层来解决。

你终爱算法吗?你会对程序结构追求一种完美吗?我们的目标就是要把程序开发变成一种智慧的净土,而不是伤心地,我们要追求的是一种艺术美,不是一种痛苦。痛恨那些把程序天堂变成地狱的魔鬼。

Trackback: http://tb.blog.csdn.net/TrackBack.aspx?PostId=550566


分享到:
评论

相关推荐

    Teamcenter四层架构的安装配置

    本文将详细介绍Teamcenter四层架构中的Web层安装配置过程。 首先,Web层是Teamcenter体系结构的重要组成部分,主要负责用户界面的呈现和Web服务的提供。在安装Web层之前,必须先确保已经正确安装了Teamcenter的前两...

    JavaWeb三层架构和五层架构介绍

    四层架构有两种方式,第一种形式是增加一个系统服务层,提供公共的服务性代码,供各个操作层使用。第二种方式是五层架构,即进一步细化了三层架构。 五层架构 五层架构包括用户界面层、控制层、业务逻辑层、数据...

    C# web 三层架构设计

    ### C# Web 三层架构设计详解 #### 一、引言 C# Web 三层架构是一种常见的软件设计模式,旨在通过清晰的分层提高代码的可读性、可维护性和可扩展性。这种架构模式将应用程序分解为三个独立的层次:表示层...

    WEB四层实现

    在"WEB四层实现"的场景中,"插件"可能扮演着增强表示层功能的角色,比如提供图表展示、表单验证、动态加载内容等功能。而"门面工厂"可能是为了更好地管理和实例化基础设施层的服务,使得业务逻辑层可以更加专注于其...

    基于J2EE多层架构的Web开发框架研究

    通过对J2EE多层架构的研究,本文提出了一种基于五层架构的Web开发框架,该框架在传统的四层架构基础上增加了数据持久层,并且集成了Hibernate等对象持久化技术,有效地解决了传统架构中的一些问题。此外,通过使用...

    基于B/S四层架构的学生管理系统

    ASP.NET提供了强大的Web应用程序开发工具和框架,支持MVC(Model-View-Controller)模式,使得开发四层架构的Web应用变得更加简便。 【压缩包子文件的文件名称列表】:StudentManage.sln、StudentManage.suo、Data...

    web三层架构体系 web架构

    ### Web三层架构体系详解 #### 一、三层架构概述 三层架构是一种常见的软件设计模式,尤其在Web开发领域被广泛采用。它通过将应用程序分解为三个独立的逻辑层,能够提高系统的灵活性、可维护性和可扩展性。三层...

    基于ASP.NET的Web应用系统架构探讨

    提出了一种基于ASP.NET开发方式的四层架构的Web应用系统构造思想。其基本内容是:将面向对象的UML建模与Web应用系统开发相结合,将整个系统分成适合ASP.NET开发方式的应用表示层、业务逻辑层、数据访问层和数据...

    一个四层架构的J2EE项目实例.rar

    四层架构在J2EE开发中是一种常见的设计模式,它将应用程序分解为四个逻辑层,以提高可维护性、可扩展性和代码复用性。这个压缩包“一个四层架构的J2EE项目实例.rar”可能包含了一个完整的J2EE项目,我们可以详细探讨...

    eclipse下开发四层架构

    在本文中,我们将深入探讨如何在Eclipse IDE环境下,基于SSH框架(Struts2、Spring、Hibernate)构建一个四层架构的用户注册系统。SSH框架是Java Web开发中常用的一个集成框架,它提供了模型-视图-控制器(MVC)模式...

    java Web系统架构综述

    2. **数据持久化层**:使用Hibernate等技术实现对数据库的操作,如增删改查等。 3. **业务逻辑层**:负责处理具体的业务逻辑,调用数据持久化层提供的服务。 4. **页面表示层**:使用Struts框架实现用户界面的展示,...

    很全的WCF服务,四层架构!内带数据库

    四层架构通常包括表现层(UI)、业务逻辑层(BLL)、数据访问层(DAL)和数据存储层(例如数据库)。这种分层设计有助于代码的组织和重用,提高系统的可维护性和扩展性。 1. **表现层(UI)**:这是用户与应用程序...

    j2ee 五层web开发架构

    传统的J2EE四层架构包括:客户端层、Web层、业务逻辑层以及数据库层。这种架构虽然能够较好地实现应用程序的逻辑分离,但在实际项目开发过程中仍然存在一些不足之处,特别是在处理复杂的数据库交互时。为此,本文...

    JAVAEE 的四层模型.doc

    JAVAEE 的四层模型是 JAVAEE 技术的核心组件之一,用于构建企业级应用程序。该模型将应用逻辑按功能划分为组件,每个应用组件根据他们所在的层分布在不同的机器上。 JAVAEE 的四层模型包括客户层、Web 层、业务逻辑...

    三层架构思想

    此外,现代Web开发框架如Spring Boot、ASP.NET Core等也提供了对三层架构的支持,使得开发者可以更加便捷地构建和管理复杂的软件系统。 总之,三层架构思想是软件工程中的一项基本设计理念,通过合理地组织和分层,...

    MVC 三层架构应用

    MVC三层架构是现代软件开发中常用的模式之一,尤其是在Web应用程序的开发过程中。该模式通过将应用程序分为三个主要部分——模型(Model)、视图(View)和控制器(Controller),来提高代码的可维护性、可扩展性和复用性...

    三层架构搭建步骤

    三层架构搭建步骤 在软件开发过程中,三层架构是一种常见的架构模式,它将系统分为三个独立的层次:表示层、业务逻辑层和数据访问层。这种架构模式可以提高系统的可维护性、灵活性和可扩展性。本文将详细介绍三层...

    Web应用程序架构模式

    #### 四、常见的Web应用程序架构模式 1. **MVC (Model-View-Controller)**: - **Model**:负责存储和管理数据。 - **View**:展示数据给用户。 - **Controller**:处理用户输入,并协调Model和View。 2. **...

Global site tag (gtag.js) - Google Analytics