C# 三层架构项目体会(1)

  最近在学习三层架构,有一些东西自己有一些自己的感触,想找个地方记下来,发现博客园中我还没有申请开通博客,后来就只在这里记下一些了,以后有一些感触,也会记下来吧。

  首先,最开始学习三层的时候自己感觉不就是将一个应用程序分为三个不同的层次关系进行相互协调进而分工进行应用程序的执行,也许,我这样理解也不算错吧,不过,后来回想在学习C#基础的时候,发现,其实不仅仅只有这样,三层架构固然使这种效果,但是其内在思想是实现了面向对象中的三大特点:封装、继承和多态。

  三层中通过使用不同层级将不同的实现与不同功能的分类开来,并且相互之间只有引用的关系,这就是面向对象中的封装的特点:将不同功能和特征的操作进行分们别类式的封装,只能通过一些特定的接口或其他的进行访问,就好像一个公司下面的某一个部门,而部门与部门之间只有在需要合作的时候,有特定的人员进行交互合作。说到这里,就想到了软件工程的一些东西,软件工程中有一个基本的设计理念:高内聚、低耦合和模块化。模块化就是将一个需要实现的某个东西进行分散成一个一个模块,进而由这些模块进行合作式的实现该功能。而高内聚、低耦合就是在模块化的基础之上进行的深入,高内聚就是模块的内部之间要聚合的紧密,低耦合就是模块与模块之间尽量要少一点的交互。而三层架构实现了这种思想,但是不是很完善,虽然在三层在加上了一层MODEL层,但是就是感觉还是有一些不完善,但是自己还是分析不到,当然,我现在接触的只是一些皮毛,以后可能会发现吧。

  继承和多态这两个方面,我现在只是在进行参数的传递时使用了接口进行参数传递,而其他的方面,自己尝试了使用一个公有的属性进行参数传递,但是,感觉不怎么好。多态的话,一句话,面向对象中,无处不是多态,对象的本质来源于生活,而类又是将对象中的共同特征进行提取的结果,多态更多是指行为的多态 ,一种操作,不同的子类对象的各自的响应。

  再来谈谈我们的三层,其本质操作就是对数据库中的数据进行增删查改。

  对数据库中的数据进行的操作本质上就是请求、处理和响应。客户端请求服务器,服务器处理请求并给予响应。但是请求、处理和响应的本质就是调用方法,请求就是调用方法和传递参数,处理就是调用方法的方法体进行执行操作,而响应就是将返回值返回。

  在这里我还学习到了,数据库中的操作大多时候都是要小心的,特别是增删改这种能够改变数据库中的数据的操作,一旦修改出错,将不可逆并且造成不可估量的损失,所以在公司中对数据的操作要求每天备份。还有一点就是,数据来之不易,再删除数据的时候最好是使用“软删除”,系在需要执行删除操作的数据进行一个标记,标记数据是否已被删除。

  

时间: 2024-07-30 18:47:16

C# 三层架构项目体会(1)的相关文章

ASP.NET三层架构基础详细操作图文教程(转)

本文主要讲述Asp.net B/S结构 下基础的三层架构项目.三层主要是指的界面UI层,逻辑层,数据层.界面UI层:用于用户观看,体验的表示层.逻辑层:程序运行逻辑的封装层.数据层:程序数据相关操作的封装层. 每层当中还可以进行不同的详细划分,因为是基础教程,先领新手入门,所以不进行复杂的讲解.本来出自http://www.cnntec.com 作者:A.Z猫 转载请注明,违者必究.准备工具:Microsoft Visual Studio 2008 以下简称vs08Microsoft SQLSe

Web项目的三层架构和MVC架构异同

http://www.cnblogs.com/zhhh/archive/2011/06/10/2077519.html 又看到有人在问三层架构和MVC的关系,感觉这种问题有点教条化了.因为它们都在逻辑上将应用程序划为三块,凑了一个数字3,就有人非要把它们联系到一起了. 这两个东西我接触有几年了,有一点体会,表达一下: 三层是三层,MVC是MVC,它们毫无关系的. 三层是从整个应用程序架构的角度来分的三层(如果程序需要,还可以分多层). 三层是为了解决整个应用程序中各个业务操作过程中不同阶段的代码

从头开始做一个OA项目(三) 关于三层架构思想

下面就开始一步一步的搭建我们的项目三层架构,自从微软的PetShop推出以来,似乎它就成了三层的代名词.在国内.Net界几乎所有的项目都是根据PetShop来搭建三层架构,甚至我还见过一些项目直接就把它的架构拷贝过来,一丝未改.直接使用.在搭建之前,为了便于还未接触过三层的同学了解.我们先把三层架构的基本概念解释一下.我们先来思考一个场景.我们大家都去过饭店吃饭,那么大家回忆一下我们吃饭的流程是个什么样子呢?如下图所示. 当我们推开饭店的大门,马上就会迎来一个笑容可掬的服务员,她会忙着招待我们,

CRM项目开发流程:采用《三层架构模式》

采用<三层架构模式> 1.根据顾客的需求设计数据表格,明确表之间的关联,建好约束 2.实体Bean的设计(一个表对应一个实体) 3.业务层设计(一个实体类一个业务接口,一次提交一个业务方法) 4.持久层设计(一个实体类一个持久接口,一次数据操作一个持久方法) 一.数据库表的建立: 建表时要注意表与表之间的联系,明确哪些是主键,哪些是外键,建立好约束. 要求数据添加合理,添加记录数量也要适当的多点,不然直接会影响后期持久层和业务层方法的调试,从而影响整个项目的开发. 表的列名要求命名规范,便于理

MVC项目实践,在三层架构下实现SportsStore-02,DbSession层、BLL层

SportsStore是<精通ASP.NET MVC3框架(第三版)>中演示的MVC项目,在该项目中涵盖了MVC的众多方面,包括:使用DI容器.URL优化.导航.分页.购物车.订单.产品管理.图像上传......是不错的MVC实践项目,但该项目不是放在多层框架下开发的,离真实项目还有一段距离.本系列将尝试在多层框架下实现SportsStore项目,并用自己的方式实现一些功能. 本篇为系列第二篇,包括: ■ 4.三层架构设计    □ 4.2 创建DbSession层 数据访问层的统一入口   

MVC项目实践,在三层架构下实现SportsStore-01

SportsStore是<精通ASP.NET MVC3框架(第三版)>中演示的MVC项目,在该项目中涵盖了MVC的众多方面,包括:使用DI容器.URL优化.导航.分页.购物车.订单.产品管理.图像上传......是不错的MVC实践项目,但该项目不是放在多层框架下开发的,离真实项目还有一段距离.本系列将尝试在多层框架下实现SportsStore项目,并用自己的方式实现一些功能. 本篇为系列第一篇,包括: ■ 1.搭建项目■ 2.卸载Entity Framework组件,并安装最新版本■ 3.使用

MVC项目实践,在三层架构下实现SportsStore-01,EF Code First建模、DAL层等

http://www.cnblogs.com/darrenji/p/3809219.html 本篇为系列第一篇,包括: ■ 1.搭建项目■ 2.卸载Entity Framework组件,并安装最新版本■ 3.使用EF Code First创建领域模型和EF上下文■ 4.三层架构设计    □ 4.1 创建DAL层        ※ 4.1.1 MySportsStore.IDAL详解        ※ 4.1.2 MySportsStore.DAL详解 1.搭建项目 MySportsStore.

MVC项目实践,在三层架构下实现SportsStore-03,Ninject控制器工厂等

SportsStore是<精通ASP.NET MVC3框架(第三版)>中演示的MVC项目,在该项目中涵盖了MVC的众多方面,包括:使用DI容器.URL优化.导航.分页.购物车.订单.产品管理.图像上传......是不错的MVC实践项目,但该项目不是放在多层框架下开发的,离真实项目还有一段距离.本系列将尝试在多层框架下实现SportsStore项目,并用自己的方式实现一些功能. 本篇为系列第三篇,包括: ■ 5.自定义Ninject控制器工厂■ 6.项目的第一次运行 5.自定义Ninject控制

MVC项目实践,在三层架构下实现SportsStore-08,部署到IIS服务器

SportsStore是<精通ASP.NET MVC3框架(第三版)>中演示的MVC项目,在该项目中涵盖了MVC的众多方面,包括:使用DI容器.URL优化.导航.分页.购物车.订单.产品管理.图像上传......是不错的MVC实践项目,但该项目不是放在多层框架下开发的,离真实项目还有一段距离.本系列将尝试在多层框架下实现SportsStore项目,并用自己的方式实现一些功能. 本篇为系列第八篇,包括: ■ 10.部署到IIS服务器    □ 10.1 使用Visual Studio发布