barriers / 阅读 / 详情

什么是三层架构?各层的主要功能及相互关系有哪些

2023-06-15 15:24:04
共2条回复
小教板
一般讲到三层架构,其实就是将整个业务应用划分为表示层、业务逻辑层、数据访问层等。
数据访问层DAL,业务逻辑层BLL。表现层UI (界面类的)【 model(数据模型层,主要放的我就不用说了。一般都是数据库中的。) ,】model是贯穿的。所有的都引用它,bll引用dal ui引用dal 和bll 然后就是调用
三层体系结构,是在客户端与数据库之间加入了一个“中间层”,也叫组件层。这里所说的三层体系,不是指物理上的三层,不是简单地放置三台机器就是三层体系结构,也不仅仅有B/S应用才是三层体系结构,三层是指逻辑上的三层,即使这三个层放置到一台机器上。
普通三层:数据访问层DAL:用于实现与数据库的交互和访问,从数据库获取数据或保存数据到数据库的部分。 业务逻辑层BLL:业务逻辑层承上启下,用于对上下交互的数据进行逻辑处理,实现业务目标。 表示层UI:主要实现和用户的交互,接收用户请求或返回用户请求的数据结果的展现,而具体的数据处理则交给业务逻辑层和数据访问层去处理。业务实体Model:用于封装实体类数据结构,一般用于映射数据库的数据表或视图,用以描述业务中客观存在的对象。Model分离出来是为了更好地解耦,为了更好地发挥分层的作用,更好地进行复用和扩展,增强灵活性。 通用类库Common:通用的辅助工具类
工程模式:简单工厂模式又称为静态工厂方法(Static Factory Method)模式,属于类的创建型模式,通常根据一个条件(参数)来返回不同的类的实例。
工厂角色(Creator)
是简单工厂模式的核心,它负责实现创建所有具体产品类的实例。工厂类可以被外界直接调用,创建所需的产品对象。
抽象产品角色(Product)
是所有具体产品角色的父类,它负责描述所有实例所共有的公共接口。
具体产品角色(Concrete Product)
继承自抽象产品角色,一般为多个,是简单工厂模式的创建目标。工厂类返回的都是该角色的某一具体产品。
通常情况下,客户端不直接与数据库进行交互,而是通过COM/DCOM通 讯与中间层建立连接,再经由中间层与数据库进行交换.
完善的三层结构的要求是:修改表现层而不用修改逻辑层,修改逻辑层而不用修改数据层 否则你的应用是不是多层结构,或者说是层结构的划分和组织上是不是有问题就很难说. 不同的应用有不同的理解,这是一个概念的问题.
MVC系统中的模型从概念上可以分为两类――系统的内部状态和改变系统状态的动作。模型是你所有的商业逻辑代码片段所在。本文为模型提供了业务实体对象和业务处理对象:所有的业务处理对象都是从ProcessBase类派生的子类。业务处理对象封装了具体的处理逻辑,调用业务逻辑模型,并且把响应提交到合适的视图组件以产生响应。业务实体对象可以通过定义属性描述客户端表单数据。所有业务实体对象都EntityBase派生子类对象,业务处理对象可以直接对它进行读写,而不再需要和request、response对象进行数据交互。通过业务实体对象实现了对视图和模型之间交互的支持。实现时把"做什么"(业务处理)和"如何做"(业务实体)分离。这样可以实现业务逻辑的重用。由于各个应用的具体业务是不同的,这里不再列举其具体代码实例。
MVC(模型Model-视图View-控制器Controller)是一种设计模式,我们可以用它来创建在域对象和UI表示层对象之间的区分。 同样是架构级别的,相同的地方在于他们都有一个表现层,但是他们不同的地方在于其他的两个层。 在三层架构中没有定义Controller的概念。这是我认为最不同的地方。而MVC也没有把业务的逻辑访问看成两个层,这是采用三层架构或MVC搭建程序最主要的区别。当然了。在三层中也提到了Model,但是三层架构中Model的概念与MVC中Model的概念是不一样的,“三层”中典型的Model层是以实体类构成的,而MVC里,则是由业务逻辑与访问数据组成的。
在ASP NET中的MVC架构编写的,具有极其良好的可扩展性。它可以轻松实现以下功能: ①实现一个模型的多个视图;②采用多个控制器;③当模型改变时,所有视图将自动刷新;④所有的控制器将相互独立工作。这就是MVC架构的好处,只需在以前的程序上稍作修改或增加新的类,即可轻松增加许多程序功能。以前开发的许多类可以重用,而程序结构根本不再需要改变,各类之间相互独立,便于团体开发,提高开发效率。下面讨论如何实现一个模型、两个视图和一个控制器的程序。其中模型类及视图类根本不需要改变,与前面的完全一样,这就是面向对象编程的好处。对于控制器中的类,只需要增加另一个视图,并与模型发生关联即可。该模式下视图、控制器、模型三者之间的示意图如图2所示。同样也可以实现其它形式的MVC例如:一个模型、两个视图和两个控制器。从上面可以看出,通过MVC架构实现的应用程序具有极其良好的可扩展性,是ASP NET面向对象编程的未来方向。
MVC的不足体现在以下几个方面:(1)增加了系统结构和实现的复杂性。对于简单的界面,严格遵循MVC,使模型、视图与控制器分离,会增加结构的复杂性,并可能产生过多的更新操作,降低运行效率。(2)视图与控制器间的过于紧密的连接。视图与控制器是相互分离,但确实联系紧密的部件,视图没有控制器的存在,其应用是很有限的,反之亦然,这样就妨碍了他们的独立重用。3)视图对模型数据的低效率访问。依据模型操作接口的不同,视图可能需要多次调用才能获得足够的显示数据。对未变化数据的不必要的频繁访问,也将损害操作性能。(4)目前,一般高级的界面工具或构造器不支持MVC架构。改造这些工具以适应MVC需要和建立分离的部件的代价是很高的,从而造成使用MVC的困难。
三层架构是将代码按其作用分成三部分,每部分解决自己负责的流程. 三层架构的功用之处,在于驾驭大型web程序的结构,使之便于管理和扩展.
在设计UI的时候,我们不需要关心其中的逻辑和数据问题,只需要空出对应的位置,用于放置数据. 在设计和修改的时候,要解决的只是HTML的结构,代码看起来干净利落,做起来也是干净利落.
UI直接将程序逻辑的任务丢给BLL,BLL就开始构建具体的实现细节.BLL的创建依赖于业务. 例如一个文章系统,BLL_Aticle就表示它是用于对文章的处理的.BLL_Aticle可以提供给UI一个文章列表的recordset,显示在UI的预留位置. 当BLL_Aticle需要从数据库中获取数据的时候,就将任务丢给DAL层
DAL层专门负责和数据库打交道,它从BLL获取参数,组织一个有效的SQL,建立数据库连接,执行SQL进行更新或获取,将返回的数据交给BLL.
每一部分的业务都集中于一个UI-BLL-DAL的链中,上下清晰了然. 至于是怎样的便于管理和扩展,将在后面结合实例进行分析.
复杂的生命形式必有复杂的生存法则,若想在自己的项目中应用好三层架构,需要多用点心体会其中的应用法则.
我对三层架构的理解还不够深,这些文章能算是抛砖引玉就不错了.大家在阅读当中不要局限于我所构思的法则,要多向具体的应用中去实践,根据具体情况,寻出自己的法则. 有所感悟,就记得写下来,这种感悟是进步的契机,但必然不是最终的结果.有了感悟就拿去应用,可以发现它的优劣,继续完善
三层架构比双层或单层结构都有更大的优势。三层结构适合群体开发,每人可以有不同的分工,协同工作使效率倍增。开发双层或单层应用时,每个开发人员都应对系统有较深的理解,能力要求很高,开发三层应用时,则可以结合多方面的人才,只需少数人对系统全面了解,从一定程度工降低了开发的难度。
三层架构属于瘦客户的模式,用户端只需一个较小的硬盘、较小的内存、较慢的CPU就可以获得不错的性能。相比之下,单层或胖客户对面器的要求太高。
三层架构的另一个优点在于可以更好的支持分布式计算环境。逻辑层的应用程序可以有多个机器上运行,充分利用网络的计算功能。分布式计算的潜力巨大,远比升级CPU有效。
三层架构的最大优点是它的安全性。用户端只能通过逻辑层来访问数据层,减少了入口点,把很多危险的系统功能都屏蔽了。
max笔记

java三层架构分别有表现层、业务逻辑层、业数据访问层:

UI(表现层):

主要是指与用户交互的界面。用于接收用户输入的数据和显示处理后用户需要的数据。

BLL:(业务逻辑层):

UI层和DAL层之间的桥梁。实现业务逻辑。

业务逻辑层(Business Logic Layer)无疑是系统架构中体现核心价值的部分。它的关注点主要集中在业务规则的制定、业务流程的实现等与业务需求有关的系统设计,也即是说它是与系统所应对的领域(Domain)逻辑有关,很多时候,也将业务逻辑层称为领域层。

业务逻辑层在体系架构中的位置很关键,它处于数据访问层与表示层中间,起到了数据交换中承上启下的作用。由于层是一种弱耦合结构,层与层之间的依赖是向下的,底层对于上层而言是“无知”的,改变上层的设计对于其调用的底层而言没有任何影响。

如果在分层设计时,遵循了面向接口设计的思想,那么这种向下的依赖也应该是一种弱依赖关系。因而在不改变接口定义的前提下,理想的分层式架构,应该是一个支持可抽取、可替换的“抽屉”式架构。正因为如此,业务逻辑层的设计对于一个支持可扩展的架构尤为关键,因为它扮演了两个不同的角色。

DAL:(数据访问层):

与数据库打交道。主要实现对数据的增、删、改、查。将存储在数据库中的数据提交给业务层,同时将业务层处理的数据保存到数据库。有时候也称为是持久层,其功能主要是负责数据库的访问,可以访问数据库系统、二进制文件、文本文档或是XML文档。

相关推荐

BLL是什么意思?

巴拉拉小魔仙
2023-06-15 13:34:394

bll是什么牌子

bll的牌子是百丽。百丽(BeLLE)是百丽国际旗下的时尚鞋履品牌 ,BeLLE取义于法语“美丽的女人”,以“时尚、优雅、美丽、百变”为品牌精神,倡导每个人不断追求内在外在的美丽。2018年,百丽秋冬系列产品既融合了经典、流行等多元的创新元素,又兼顾惬意舒适感,在满眼鲜花的秀场与现代芭蕾舞演绎下融合精致与内涵,展现出BeLLE独立又时髦的新形象。相关信息介绍:百丽连续12年在中国女鞋销售中居榜首。百丽是百丽国际的旗舰品牌,在全球鞋类零售商中占据领导地位。百丽是中国第一女鞋品牌,为广大消费者提供时尚、优雅、容易搭配的鞋履产品。百丽提倡的“百变,所以美丽”也是消费者认同的时尚理念。2017年双11,百丽联合KOL,从年轻人热衷的星座社交命题切入,以“变·成自己”为主题,通过视频MV、地铁宣传、朋友圈广告等创意内容方式,推出TD12星座天团“代言”推广大使,来接近年轻消费群体。
2023-06-15 13:34:471

bll益生菌怎么样?

bll益生菌经常补充的话还是很不错的,可以调理肠道。活性:双层包埋技术保证活性;菌群数:≥2000亿的活性菌,保障肠道菌群平衡;菌种:精选5种匹配国人肠胃的益生菌;添加:添加有用的双益生元。研究人员认为抗生素治疗后服用益生菌会阻碍肠道微生物组的恢复。国际营养学界普遍认可的定义是:益生菌系一种对动物有益的细菌,它们可直接作为食品添加剂服用,以维持肠道菌丛的平衡。扩展资料:菌种间比例发生大幅变化或者超出正常数值时,那么腹泻、过敏、胃口不佳、疲倦、免疫力低等一系列病症就会随之而来,人体的健康就会亮红灯,而这时适当添加益生菌,协助体内菌群平衡,才能让人重现健康状态。益生菌不能与抗生素同服。抗菌素尤其是广谱抗菌素不能识别有害菌和有益菌,所以它杀死敌人的时候往往把有益菌也杀死了。这时候或者过后补点益生菌,都会对维持肠道菌群的平衡起到很好的作用。参考资料:百度百科·益生菌
2023-06-15 13:35:031

业务逻辑层BLL到底有什么用?

1、BLL层全称是 Business Logic Layer顾名思义,是业务层2、它是DAL(Data Access Layer,数据访问层)和UI(User Interface)层的连接桥梁.3、既然称作业务层,必然有他的用处,不仅仅是一个中转的功能.创建一个用户,可以用以下的逻辑表示:namespace BLLclass 用户BLL{添加结果 AddUser(用户实体){ if(!检查用户名是否合法(用户实体.用户名))return 用户名非法; if(!检查用户密码是否合法(用户实体.密码))return 密码非法; if(!DAL.检查用户是否存在(用户实体.用户名))return 用户名已经存在; int 新用户ID=DAL.添加用户记录(用户实体); if(新用户ID>0)return 用户添加成功; else reutrn 数据库访问出现错误!}}4、但是在大部分没有严格要求的环境中,我们会习惯于把这些检查代码放在UI层,其实是不对的,从而造就了BLL层看起来就是一个中转的功能的错觉.
2023-06-15 13:35:191

bll是什么牌子的衣服

意大利著名品牌ELISABETTA FRANCHI。 Elisabetta Franchi是一个具有女人味及华丽感,既个性又贵气的意大利时尚品牌。
2023-06-15 13:35:271

c#中的bll文件是什么

是 DLL 吧?
2023-06-15 13:35:373

bll是什么意思

业务逻辑层(Business Logic Layer)
2023-06-15 13:35:441

bll是什么颜色的缩写

黑色BK棕色BN红色RD橙色OG黄色YE绿色GN蓝色(包括淡蓝)BU紫色(紫红)VT灰色(蓝灰)GY白色WH粉红色PK金黄色GD青绿色TQ银白色SR绿/黄双色GNYE。你说的BR应该是BN
2023-06-15 13:35:511

业务逻辑层BLL到底有什么用?

例子嘛总是简单的,就是为了说明一下层次关系而实际项目中在BLL会实现具体的业务逻辑
2023-06-15 13:35:597

请言简意赅的说明下BLL和DAL层的区别

BLL是业务逻辑层 也就是逻辑的判断。BLL层处理完告诉DAL层需要什么数据。DAL是数据访问层 直接和数据库打交道,就是存取数据。
2023-06-15 13:36:142

.net编程中BLL/DAL/Model等这些层是干什么的,怎样实现他们的相互连接!

业务逻辑层(bll):主要是针对具体的问题的操作,也可以理解成对数据层的操作,对数据业务逻辑处理。如果说数据层是积木,那逻辑层就是对这些积木的搭建。数据访问层(dal):主要是对原始数据(数据库或者文本文件等存放数据的形式)的操作层,而不是指原始数据,也就是说,是对数据的操作,而不是数据库,具体为业务逻辑层或表示层提供数据服务。(idal)它体现了“抽象”的精神,或者说是“面向接口编程”的最佳体现。抽象的接口模块idal(model)实体和数据库表映射类(web)web网站项目
2023-06-15 13:36:461

关于BLL,DAL,DBUtility,Model

三层架构
2023-06-15 13:36:542

三层架构中 业务逻辑层(BLL)对数据业务逻辑处理是什么意思??什么是数据业务逻辑?怎样处理呀 。。

通常数据访问层的操作都是固定的几个方法 除非是特别的复杂的很的报表计算需要单独写方法名比如 我有2个数据表:产品表 产品留言表我删除一个产品 是不是也应该删除这个产品的留言呢?这时候 BLL 就可以 组织 数据访问层的方法了。。。在 delete的时候 就 delete掉 产品的留言记录另外 BLL 还可以做验证 做 事务处理等等
2023-06-15 13:37:012

图纸上的BLL是什么梁,图集上查不到

有边框梁,无 ‘ 边连梁 " 及什么 ‘边框连梁" 的名称。设计人自编代号并没违规,但是应该加以注明,找不到注明时,应该请设计人解释清楚,他有责任解释。
2023-06-15 13:37:103

DAL和BLL里面分别写什么

数据访问层业务逻辑层
2023-06-15 13:37:253

bll黄金戒指内是什么意思

只是模板型号,一般贵金属首饰标注材质,含金量,模板号,戒指有直径建议索要发票国际现货金与现货银价格隔夜暴挫,金价刷新近一年低点1204.40美元/盎司,银价更是刷新了逾4年来低位16.83美元/盎司。而隔夜下挫的不只是金银,金银的跌势也不止于此。2014年10月1日交易价到238元左右,黄金首饰285元左右,投资黄金246元,回收230元,典当行回收价格只有200元以下,投资有风险从业需谨慎,如需查询详细品牌价格可追问核实;谨防类似“兴邦”案和黄金佳非法集资广告鄙视广告,鄙视某些助纣为虐的知道管理员
2023-06-15 13:37:321

BLL或OCX是什么文件

.ocx是ocx控件的扩展名,对象链接和嵌入用户控件(OCX)是一种可以由在微软的Windows系统中运行的应用软件创建使用的特殊用途的程序。!!如有什么不清楚的,可以HI我或QQ:1847539
2023-06-15 13:37:391

bll,hll是什么意思

灵活
2023-06-15 13:37:485

asp.net中生成的BLL.dll、DAL.dll、Model.dll都有什么作用?

这是ASP.NET的最基本三层框架,能够很好的实现面向对象编程思想。其中 BLL.dll 是业务逻辑层,用户在页面上处理所有的业务(即功能)的总和包,让你调用的时候只需调用方法名,而不用写重复的使用方法;DALdll 是数据链路层,这层中,就要将你页面上要实现和数据库传值、取值相关的方法写进去了,并进行封装,这样不仅能够保证SQL代码不在页面上显示,保证了数据库的安全,也对你理解应用面向对象的编程思想有更充分的理解;Model.dll 这层就是存放跟方法相关的一些模型,在使用DAL.dll调用Model层的时候,肯定会涉及到一些重复的关键字,只用通过Model层某个关键字(如 id)到底属于谁的,才能够正确的操作数据库。不同版本的.netframework生成的文件大体是差不多的,不过还是有些区别,但是你写的BLL.dll,DAL.dll,Model.dll,不管你在VS什么版本上编译,都可以运行。
2023-06-15 13:38:011

asp.net bll层到底是怎么用的?

这个最好使用存储过程操作,可在数据库内执行上面的三步,所以了错的几率非常低,要100%的话,在业务层缓存最后一次IC卡号:先判断缓存中有没有这个号,如果没有,替换缓存这个号,再进行上述三步。如果重要数据2-3步要用到事务。三层是这样的:表现层-BLL-DAL-数据库,一层层的调用,BLL用来判断业务逻辑。
2023-06-15 13:38:191

Bll益生菌怎么样?

益生菌经常补充的话还是很不错的,可以调理肠道。
2023-06-15 13:38:361

asp.net写三层架构的代码时,一般是先写BLL的内容还先写DAL的内容,他们分别放什么

bll是业务逻辑层。并不只是调用dal传递数据的作用。你可以这样理解。dal它只是取数据。然后你前台要的数据并不是你从dal层取到数据。还需要一些处理才是表现层所需要的数据。这个处理的过程就是由bll来处理的。你可能会可以放在表现层处理。是的...
2023-06-15 13:38:432

请问,MVC是什么意思,是三层结构吗?

三层架构将整个项目划分为:表现层(UI)、业务逻辑层(BLL)、数据访问层(DAL)。MVC即Model(模型),View(视图),Controller(控制)。下面看一下他俩的区别与联系:通过这个图我们可以知道,我们平常所说的V是UI,C是BLL,M是DAL的观点是错误的。而我们通常所见到的MVC一般也都是在应用三层架构的基础上,即将Model层再进行分层。而如果Model不再进行划分的话,那么使用MVC的意义也就不大了。然后,它俩的目的着重点不同。三层架构的目的着重点是“高内聚,低耦合”,即解耦。MVC的目的则是实现Web系统的职能分工,即职责划分。其实职责划分也是解耦,但是三层侧重的是整体的一个解耦,而MVC侧重的是web系统的解耦,即侧重jsp和Servlet的一个解耦。最后,为何我们会将其混为一谈?既然两者有这么多的不同,我们为什么还总是将其混淆呢,下面我列举了几个我们常常将其混为一谈的几个原因:1.二者都是“三层”。这个原因是最容易迷惑我们初学者的,一个是UI,BLL,DAL,一个是View,Controller,Model,不都是三层吗?虽然都是“三层”(不一定是真的三层,还可以是多层),但是它们的划分的不一样。大家可从上面的图中看出不同。2.MVC总是伴随着三层架构。这个就是我在前面一再强调的,我们一般是在考虑使用(也可以不使用)了三层架构的基础上再根据具体需求决定是否需要使用MVC,于是我们常说的MVC中总是伴随着三层架构,所以大家总是会认为MVC就是三层架构,三层架构就是MVC,殊不知,它们二者是一起出现的。3.都是在分层,即都是在解耦。前面说它们目的的时候也说了,虽然它们的侧重点不同,但是它们的总体目的是一样的,都是为了解耦,对于初学者而言,是不知道这两个侧重点有何不同的。大家往往对它们的联系知道很多,不然也不会混为一谈,但是对它们的区别却知道较少,希望我上面讲解的它们两者之间的区别可以让大家对它们有些了解,如有写的不妥的地方,请指教。三层架构(3-tierapplication)通常意义上的三层架构就是将整个业务应用划分为:表现层(UI)、业务逻辑层(BLL)、数据访问层(DAL)。区分层次的目的即为了“高内聚,低耦合”的思想。1、表现层(UI):通俗讲就是展现给用户的界面,即用户在使用一个系统的时候他的所见所得。2、业务逻辑层(BLL):针对具体问题的操作,也可以说是对数据层的操作,对数据业务逻辑处理。3、数据访问层(DAL):该层所做事务直接操作数据库,针对数据的增添、删除、修改、更新、查找等。MVC是Model-View-Controller,严格说这三个加起来以后才是三层架构中的UI层,也就是说,MVC把三层架构中的UI层再度进行了分化,分成了控制器、视图、实体三个部分,控制器完成页面逻辑,通过实体来与界面层完成通话;而C层直接与三层中的BLL进行对话。mvc可以是三层中的一个表现层框架,属于表现层。三层和mvc可以共存。三层是基于业务逻辑来分的,而mvc是基于页面来分的。MVC主要用于表现层,3层主要用于体系架构,3层一般是表现层、中间层、数据层,其中表现层又可以分成M、V、C,(ModelViewController)模型-视图-控制器曾把MVC模式和Web开发中的三层结构的概念混为一谈,直到今天才发现一直是我的理解错误。MVC模式是GUI界面开发的指导模式,基于表现层分离的思想把程序分为三大部分:Model-View-Controller,呈三角形结构。Model是指数据以及应用程序逻辑,View是指Model的视图,也就是用户界面。这两者都很好理解,关键点在于Controller的角色以及三者之间的关系。在MVC模式中,Controller和View同属于表现层,通常成对出现。Controller被设计为处理用户交互的逻辑。一个通常的误解是认为Controller负责处理View和Model的交互,而实际上View和Model之间是可以直接通信的。由于用户的交互通常会涉及到Model的改变和View的更新,所以这些可以认为是Controller的副作用。MVC是表现层的架构,MVC的Model实际上是ViewModel,即供View进行展示的数据。ViewModel不包含业务逻辑,也不包含数据读取。而在N层架构中,一般还会有一个Model层,用来与数据库的表相对应,也就是所谓ORM中的O.这个Model可能是POCO,也可能是包含一些验证逻辑的实体类,一般也不包含数据读取。进行数据读取的是数据访问层。而作为UI层的MVC一般不直接操作数据访问层,中间会有一个业务逻辑层封装业务逻辑、调用数据访问层。UI层(Controller)通过业务逻辑层来得到数据(Model),并进行封装(ViewModel),然后选择相应的View.MVC本来是存在于Desktop程序中的,M是指数据模型,V是指用户界面,C则是控制器。使用MVC的目的是将M和V的实现代码分离,从而使同一个程序可以使用不同的表现形式。比如一批统计数据你可以分别用柱状图、饼图来表示。C存在的目的则是确保M和V的同步,一旦M改变,V应该同步更新。MVC如何工作MVC是一个设计模式,它强制性的使应用程序的输入、处理和输出分开。使用MVC应用程序被分成三个核心部件:模型、视图、控制器。它们各自处理自己的任务。视图V视图是用户看到并与之交互的界面。对老式的Web应用程序来说,视图就是由HTML元素组成的界面,在新式的Web应用程序中,HTML依旧在视图中扮演着重要的角色,但一些新的技术已层出不穷,它们包括MacromediaFlash和象XHTML,XML/XSL,WML等一些标识语言和Webservices.如何处理应用程序的界面变得越来越有挑战性。MVC一个大的好处是它能为你的应用程序处理很多不同的视图。在视图中其实没有真正的处理发生,不管这些数据是联机存储的还是一个雇员列表,作为视图来讲,它只是作为一种输出数据并允许用户操纵的方式。模型M模型表示企业数据和业务规则。在MVC的三个部件中,模型拥有最多的处理任务。被模型返回的数据是中立的,就是说模型与数据格式无关,这样一个模型能为多个视图提供数据。由于应用于模型的代码只需写一次就可以被多个视图重用,所以减少了代码的重复性。控制器C控制器接受用户的输入并调用模型和视图去完成用户的需求。所以当单击Web页面中的超链接和发送HTML表单时,控制器本身不输出任何东西和做任何处理。它只是接收请求并决定调用哪个模型构件去处理请求,然后再确定用哪个视图来显示返回的数据。模型Model模型是应用程序的主体部分。模型表示业务数据,或者业务逻辑。实现具体的业务逻辑、状态管理的功能。视图View视图是应用程序中用户界面相关的部分,是用户看到并与之交互的界面。就是与用户实现交互的页面,通常实现数据的输入和输出功能。控制器controller控制器工作就是根据用户的输入,控制用户界面数据显示和更新model对象状态。起到控制整个业务流程的作用,实现View层跟Model层的协同工作。3层架构指:表现层(显示层)业务逻辑层数据访问层(持久化)如果大家非要“生搬硬套”把它和MVC扯上关系话那我就只能在这里”强扭这个瓜”了即:V3层架构中”表现层”aspx页面对应MVC中View(继承的类不一样)C三层架构中”表现层”的aspx.cs页面(类)对应MVC中的Controller,理解这一点并不难,大家想一想我们以前写过的Redirect,当然它本身就是跳转了一些链接页面,而MVC中的Controller要做的更爽,它控制并显示输出了一个视图。即然所起到的作用都是对业务流程和显示信息的控制,只不过是实现手段不同而已。M3层架构中业务逻辑层和数据访问层对应MVC中Model(必定View和Controller已找到“婆家”剩下Model只能是业务逻辑层和数据访问层了)为什么要使用MVC大部分Web应用程序都是用像ASP,PHP,或者CFML这样的过程化(自PHP5.0版本后已全面支持面向对象模型)语言来创建的。它们将像数据库查询语句这样的数据层代码和像HTML这样的表示层代码混在一起。经验比较丰富的开发者会将数据从表示层分离开来,但这通常不是很容易做到的,它需要精心的计划和不断的尝试。MVC从根本上强制性的将它们分开。尽管构造MVC应用程序需要一些额外的工作,但是它给我们带来的好处是无庸质疑的。首先,最重要的一点是多个视图能共享一个模型,现在需要用越来越多的方式来访问你的应用程序。对此,其中一个解决之道是使用MVC,无论你的用户想要Flash界面或是WAP界面;用一个模型就能处理它们。由于你已经将数据和业务规则从表示层分开,所以你可以最大化的重用你的代码了。由于模型返回的数据没有进行格式化,所以同样的构件能被不同界面使用。例如,很多数据可能用HTML来表示,但是它们也有可能要用AdobeFlash和WAP来表示。模型也有状态管理和数据持久性处理的功能,例如,基于会话的购物车和电子商务过程也能被Flash网站或者无线联网的应用程序所重用。因为模型是自包含的,并且与控制器和视图相分离,所以很容易改变你的应用程序的数据层和业务规则。如果你想把你的数据库从MySQL移植到Oracle,或者改变你的基于RDBMS数据源到LDAP,只需改变你的模型即可。一旦你正确的实现了模型,不管你的数据来自数据库或是LDAP服务器,视图将会正确的显示它们。由于运用MVC的应用程序的三个部件是相互独立,改变其中一个不会影响其它两个,所以依据这种设计思想你能构造良好的松耦合的构件。对我来说,控制器也提供了一个好处,就是可以使用控制器来联接不同的模型和视图去完成用户的需求,这样控制器可以为构造应用程序提供强有力的手段。给定一些可重用的模型和视图,控制器可以根据用户的需求选择模型进行处理,然后选择视图将处理结果显示给用户。拿一个简单的登陆模块说,需求是你输入一个用户名、密码,如果输入的跟预先定义好的一样,那么就进入到正确页面,如果不一样,就提示个错误信息。V这个小小的模块中,起始的输入用户名密码的页面跟经过校验后显示的页面就相当于ViewC而这里还需要一个controller页面,就是用于接收输入进来的用户名密码,还有经过校验后返回的一个flg(此flg就是用于判断你输入的是否正确,而跳转到相应的页面的)M最后还缺一个Model,那么就是你那个用于校验的类了,他就是处理你输入的是否跟预先订好的一样不一样的,之后返回一个flg.这样就完全实现了逻辑跟页面的分离,我页面不管你咋整,反正我就一个显示,而controller呢也不管你Model咋判断对不对,反正我给你了用户名跟密码,你就得给我整回来一个flg来,而Medol呢,则是反正你敢给我个用户名跟密码,我就给你整过去个flgm提供数据,数据之间的关系,转化等。并可以通知视图和控制器自己哪些地方发生了变化。v提供显示,能根据m的改变来更新自己c比如视图做了点击一个按钮,会先发给这个视图的控制器,然后这个控制器来决定做什么操作(让模型更新数据,控制视图改变)mvc是一个复合模式mv,mc都是观察者模式m内部的组件组合模式vc之间是策略模式(可以随时更换不同的控制器)————————————-MVC模式是上世纪70年代提出,最初用于Smalltalk平台上的。MVC是表现模式,是用来向用户展现的许多组建的一个模式(UI/PresentationPatten)MVC有三种角色:Model:用来储存数据的组件(与领域模型概念不同,两者会相互交叉)View:从Model中获取数据进行内容展示的组件。同样的Model在不同的View下可展示不同的效果。获取Model的状态,而不对其进行操作。Controller:接受并处理用户指令(操作Model(业务)),选择一个View进行操作。MVC概述:协作存在单向引用,例如Model不知道View和Controller的存在。View不知道Controller的存在。这就隔离了表现和数据。View和controller是单向引用。而实际中View和Controller也是有数据交互的。MVC的重要特点是分离。两种分离:View和数据(Model)的分离使用不同的View对相同的数据进行展示;分离可视和不可视的组件,能够对Model进行独立测试。因为分离了可视组件减少了外部依赖利于测试。(数据库也是一种外部组件)View和表现逻辑(Controller)的分离Controller是一个表现逻辑的组件,并非一个业务逻辑组件。MVC可以作为表现模式也可以作为建构模式,意味这Controller也可以是业务逻辑。分离逻辑和具体展示,能够对逻辑进行独立测试。MVC和三层架构MVC与三层架构类似么?View-UILayer|Controller-BussinessLayer|Model-DataAccessLayer其实这样是错误的MVC是表现模式(PresentationPattern)三层架构是典型的架构模式(ArchitecturePattern)三层架构的分层模式是典型的上下关系,上层依赖于下层。但MVC作为表现模式是不存在上下关系的,而是相互协作关系。即使将MVC当作架构模式,也不是分层模式。MVC和三层架构基本没有可比性,是应用于不同领域的技术。
2023-06-15 13:38:501

钢材BLL50*1871*4是什么意思

Bll应该是钢材的牌号,50x1871x4是长宽高
2023-06-15 13:39:161

先了解一下个层的含义及介绍,比如BLL层,DAO层,VO层,等等

没看懂什么意思?
2023-06-15 13:39:242

请问TrojanDownloader.Small.bll是什么病毒?

是木马病毒,具体的我也说不清楚.
2023-06-15 13:39:323

初学:关于BLL DAL MODEL的小问题

添加引用就行了,Bll层是业务逻辑层,Dal层是数据访问层,再加上UI表示层的话就是标准的三层架构了,model层是模型层,起到辅助作用,还可以有个DButility层工具层也是辅助作用……建议买本书看看……
2023-06-15 13:39:502

在BLL层添加的方法为什么在aspx网页上调用不出来?

bll层的方法是publicbll层编译生成的dll需要引用到web层需要更新web层dll的引用
2023-06-15 13:39:571

我有一个宝利来的钻戒上面写着pt950BLL,D0.107ct是什么意思,价值多少钱啊

PT 95% 白金含量95%Diamond Weight 0.107 ct 钻石重量 10.7分
2023-06-15 13:40:044

asp.net中DAL.什么意思?还有BLL,代码如下

在前面using System;等等的那里要引用Model层
2023-06-15 13:40:132

.net(c#) 三层结构 如何调用BLL逻辑层和DAL数据访问层 查询数据是否存在?

c.username = TextBox2.Text.Trim();Maticsoft.BLL.useradd d= new Maticsoft.BLL.useradd();d.Select(c);d.Exists();写到这里卡住了,,,你Exists方法可写好了?一般你这样可以将Exists的方法的返回值设置为bool型然后判断的时候是if(d.Exists()){//存在//MessageBox显示不存在信息}else{//不存在//Message显示存在信息或者继续程序}
2023-06-15 13:40:231

三层架构,大能解释下下面的两行代码啥意思吧

静态方法 BLL是做一些逻辑判断 处理等 DAL是直接操作数据库
2023-06-15 13:40:313

bll益生菌怎么样?

我觉得还不错啊,益生菌可以多吃,提高免疫力,效果很好
2023-06-15 13:40:402

华为手机BLL-L21下载抖音怎么那么慢

网速的问题。1、首先,我们打开我们的电脑,然后点击左下角的开始按钮。2、弹出的界面,我们点击360安全中心。3、弹出的界面,我们点击360安全卫士。4、弹出的界面,我们点击人工服务。5、然后我们在搜索框中输入解除网络限速,然后点击查找方案。6、弹出的界面,我们点击立即修复。7、之后就会进入修复状态。
2023-06-15 13:40:471

C#中WEB目录与bll。dal文件是同一级别,现根目录是web目录。我怎么调用bll跟dal的类库

不明白
2023-06-15 13:40:543

要做飞机去丹麦一个城市Billund 毕隆(机场代码BLL)

等候中转的时间能有多长?还是等等吧,从德国陆路走真的不方便。Billund在日德兰半岛的中部,从德国走不太方便,一般中国只是到德国中部的法兰克福,很远。如果能直接到北部的汉堡还凑合,不过最后到毕隆也挺远,还不如等飞机中转了,多等等,从哥本哈根起飞也就40来分钟就到了。
2023-06-15 13:41:021

bll益生菌怎么样?

益生菌对于我们每个人的身体健康都是非常有帮助的,不仅仅可以有利于我们肠胃的消化,也会让我们身体更加健康。
2023-06-15 13:41:231

BLL、LTL在建筑图纸中分别表示什么?

边拉梁,楼梯梁
2023-06-15 13:41:471

三层架构BLL、DAL、MODEL和UI层之间是如何访问的

添加引用 ,using一下
2023-06-15 13:41:553

asp.net中生成的BLL.dll,DAL.dll,Model.dll,它们都有什么作用,

楼上正解!
2023-06-15 13:42:124

c9blm比c9bll贵25值不值得

贵25值得的。C9BLM/BLL是8GbE-Die的高频型号,C9BLH是16GbB-Die的4000频型号,说开点,C9BJZ对应标定3200(后期变弱),C9BKV标定3600,BLL4000,BLM4400,当然还有个后期C9BJZ水平的C9BLD,高电压BLG3600,BLH4000,BLJ4400,还有8GbN-Die,16GbB-Die降容版本,C9BKZ2666(辣鸡),C9BLB3200(神)。
2023-06-15 13:42:201

VS2010无法建立空项目是什么原因

用VS2010建立空白解决方案三层结构,会有多个项目。为了让各项目之间的关系反映在目录结构上所以要建立一个解决方案。1.建立解决方案:文件->新建项目->其它项目类型->Visual Studio解决方案->空白解决方案。2.在解决方案里添加第一个项目建立空白解决方案后,在vs2010右边的解决方案资源管理器中,可以看到刚建立的解决方案,单击选中它,然后右键选择“添加”->新建项目->Visual C#- >ASP.NET Web应用程序,把名称命为:Web,点击确定后就在解决方案里建立了一个Web项目。3.在解决方案里添加第二个项目在解决方案里加入第一个项目后,再加入第二个项目,第二个项目和添加与第一个项目的添加有一点差别,添加第二个项目的步骤是:文件->新建项目->Visual C# ->类库。选择“类库”以后,把名称命名为:BLL,在最下面的“解决方案”里选择“添入解决方案”,意思就是把新建的这个BLL项目,添入到建立的KaiBo解决方案里。刚才建立的两个项目就在解决方案里很好的组织起来了。4.在解决方案里添加其它的项目添加两个项目后,为解决方案添加更多的项目就只需选中解决方案,右键“添加”->新建项目->VisualC#->类库。再自已命名项目名称就可以了。1、WEB=表示层 2、BLL=业务逻辑层 3、IDAL=数据访问层接口定义 4、Model=业务实体 5、DALFactory=数据层的抽象工厂(创建反射)6、SQLServerDAL=SQLServer数据访问层 / OracleDAL=Oracle数据访问层 7、DBUtility 数据库访问组件基础类
2023-06-15 13:42:291

未能加载文件或程序集“BLL”或它的某一个依赖项。系统找不到指定的路径。.....急啊,跪求解决方案!

这个BLL大概有一个或更多依赖项,就是说它需要另一个或更多DLL才能初始化。你用对象浏览器看看它是不是引用了别的namesapce。如果看不出来,你就看看你这个BLL的namesapce是什么,如果是微软或其他知名厂商的产品就好办了。
2023-06-15 13:42:361

用C#调用一个动态库中的方法报错,提示在这个bll文件中找不到方法的入口点

如果你明确知道函数的入口 添加 EntryPoint = "",可以省略的。例如:[DllImport("XXX.dll", EntryPoint = "")]public extern static void Test();
2023-06-15 13:42:431

C# WINFORM程序的三层架构如何建立的。不要代码,告诉步骤,怎么加BLL,DAL等各层。

看下MVC框架,微软的成熟的例子。
2023-06-15 13:42:515

BLL层方法用static 有什么坏处

不太清楚有什么不好的,但是最好不要这样用了。改成不是静态的吧最好。如果你想程序在运行的时候出问题的话,那你就可以继续这样写。一个两个人可能不会出问题,人多了就不好说了。
2023-06-15 13:43:162

配电图中,"BLL50/3P+N",是什么意思?

BLL为开关品牌(或某品牌的特定前缀型号),50表示I=50A,3P表示三极开关,+N表示零线跟随或经过不分断的开关。
2023-06-15 13:43:241

请问感冒头疼吃的白色药片一面有BLL字母的药片是什么名称?

你说的这个药片应该是感康吧,效果还不错
2023-06-15 13:43:312

c#三层架构中BLL层哪个函数可以获取数据库中记录的条数

ExcuteReader()
2023-06-15 13:43:392

服装打版中的WL,WLL,SNP,BLL,BLL与WLL的比例是什么意思

你所指的WL等是部位的英文名。你可以找一本服装英文词汇来对照。他们的比例就是比如胸围的四分之一。就是那个意思!!!
2023-06-15 13:43:481