首页 > 其他分享 >WPF三层架构的搭建

WPF三层架构的搭建

时间:2023-05-25 12:34:37浏览次数:47  
标签:逻辑 实体类 架构 表示层 界面 WPF 三层 数据

小编首先来给大家介绍一下,什么是三层架构:三层架构就是为了符合“高内聚,低耦合”思想,把各个功能模块划分为表示层(UI)、业务逻辑层(BLL)和数据访问层(DAL)三层架构,各层之间采用接口相互访问,并通过对象模型的实体类(Model)作为数据传递的载体,不同的对象模型的实体类一般对应于数据库的不同表,实体类的属性与数据库表的字段名一致。

三层架构区分层次的目的是为了“高内聚,低耦合”。开发人员分工更明确,将精力更专注于应用系统核心业务逻辑的分析、设计和开发,加快项目的进度,提高了开发效率,有利于项目的更新和维护工作。

一、 界面层(UI)

界面层提供给用户一个视觉上的界面,通过界面层,用户输入数据、获取数据。界面层同时也提供一定的安全性,确保用户不用看到不必要的机密信息。

二、 逻辑层(BLL)

逻辑层是界面层和数据层的桥梁,它响应界面层的用户请求,执行任务并从数据层抓取数据,并将必要的数据传送给界面层。

三、 数据层(DAL)

数据层定义、维护数据的完整性、安全性,它响应逻辑层的请求,访问数据。这一层通常由大型的数据库服务器实现,如Oracle 、Sybase、MS SQl Server等

三层架构的体系结构:表示层和业务逻辑层之间用对象模型的实体类对象来传递数据,业务逻辑层和数据访问层之间用对象模型的实体类对象来传递数据,数据访问层通过.NET 提供的ADO.NET组件来操作数据库,或者利用SQLServer数据库服务器的存储过程来完成数据操作,这种分层体系结构具有以下四个优点:

(1)避免了表示层直接访问数据访问层,表示层只和业务逻辑层有联系,提高了数据安全性。

(2)有利于系统的分散开发,每一个层可以由不同的人员来开发,只要遵循接口标准,利用相同的对象模型实体类就可以了,这样就可以大大提高系统的开发速度。

(3)方便系统的移植,如果要把一个 C/S 的系统变成 B/S 系统,只要修改三层架构的表示层就可以了,业务逻辑层和数据访问层几乎不用修改就可以轻松的把系统移植到网络上。

(4)项目结构更清楚,分工更明确,有利于后期的维护和升级

缺点:

(1)降低了系统的性能。这是不言而喻的。如果不采用分层式结构,很多业务可以直接造访数据库,以此获取相应的数据,如今却必须通过中间层来完成。

(2)有时会导致级联的修改。这种修改尤其体现在自上而下的方向。如果在表示层中需要增加一个功能,为保证其设计符合分层式结构,可能需要在相应的业务逻辑层和数据访问层中都增加相应的代码

(3)增加了代码量,增加了工作量

下面来搭建一个简单的三层架构登录页面,我使用的是Visual Studio 2019搭建。注:VS2017、VS2015和VS2010差不多没太大改变。

标签:逻辑,实体类,架构,表示层,界面,WPF,三层,数据
From: https://blog.51cto.com/u_16129154/6346556

相关文章

  • 【盘点】界面控件DevExpress WPF的几大应用程序主题
    DevExpressWPF控件包含了50+个应用程序主题和40个调色板,用户可以在发布应用程序是指定主题,或允许最终用户动态修改WPF应用程序的外观和样式,其中主题带有调色板,可以进一步个性化您的UI!PS:DevExpressWPF拥有120+个控件和库,将帮助您交付满足甚至超出企业需求的高性能业务应用程序。......
  • 【Kafka从成神到升仙系列 五】面试官问我 Kafka 生产者的网络架构,我直接开始从源码背
    ......
  • 架构活动复盘前的准备工作
    在进入复盘环节之前,我们需要做一些准备工作:建设复盘氛围:为参与者提供一个安全且平衡的复盘环境。梳理错失的机会点:从公司层面的宏观视角看,错失的最可惜的机会点是什么?提前梳理重大机会点,可以帮助我们控制复盘节奏,避免复盘成为一个裸心会,被一个麦霸引导到他个人的心灵独白中去。设定......
  • WPF 使用Background="Transparent"+AllowsTransparency="True"实现穿透效果,窗体多次渲
    如果在WPF中的窗体使用AllowsTransparency="True"实现穿透效果,那么该窗体如果移动、快速渲染、控件比较多的情况,会出现卡顿,CPU暴涨的问题。基于以上情况,可以使用另一种方式实现,由@wuty@terryK指导:usingSystem.Windows;usingAnnotation.Business;namespaceDemo{//......
  • 微服务架构基本原理学习笔记(一)
    一、什么是微服务微服务是一种技术架构,通常我们可以把它理解为一组可以相互之间协同工作的应用程序或服务,这些应用程序或服务能够被单独部署到不同的服务器中,并且能够自主运行和维护。微服务技术只是一个名称而已,或许我们在日常工作中已经或多或少在使用其中的一种或几......
  • 01_MySQL基础架构
    01_MySQL基础架构MySQL45讲Note:课程专栏名称:《MySQL实战45讲》课程笔记参考:MYSQL45讲01_基础架构:一条SQL查询语句是如何执行的?一条SQL查询是如何执行的先看一下下面这个图​​我们首先理解一下Mysql的基础架构,理解如果执行一条简单的查询语句,Mysql进行了哪些操作。......
  • 【Kafka从入门到成神系列 一】Kafka基本概述和架构
    ......
  • 【技术】多端能力服务统一是一种关键的技术和架构
    ​多端能力服务统一是一种关键的技术和服务架构,旨在为不同终端设备提供一致的用户体验和功能。通过采用前端和后端技术的组合,如响应式Web设计、PWA、跨平台移动应用开发框架、RESTfulAPI、GraphQL、WebSocket、Serverless架构和微服务架构,可以实现多端能力服务统一的目标。......
  • AIGC源码-架构图智能生成系统
    近日,微软发布guidance模块库,并迅速登上github网站TOP榜首:guidance,传统的提示或链接更有效、更高效地控制新式语言模型。协助用户将生成、提示和逻辑控制交错到单个连续流中,以匹配语言模型实际处理文本的方式。简单的输出结构,如思维链及其许多变体(例如ART,Auto-CoT等)已被......
  • HDFS架构与原理浅析
    当需要存储的数据集的大小超过了一台独立的物理计算机的存储能力时,就需要对数据进行分区并存储到若干台计算机上去。管理网络中跨多台计算机存储的文件系统统称为分布式文件系统(distributedfileSystem)。分布式文件系统由于其跨计算机的特性,所以依赖于网络的传输,势必会比普通的本......