C#知识|模块化分层学习笔记

news2024/7/4 5:52:39

哈喽,你好,我是雷工!

01 基本分层

典型的两层结构:由UI层 + 数据访问层 + 实体类构成。

其中实体类不算一层,本质是一个数据载体。

02 模块化分层

模块概念:在.NET平台中,模块主要是指类库项目。

特别说明:一个模块,可以包括一个或者多个类库项目(.dll);

一个项目通常包含哪几个模块?

①UI模块;

②数据模块(一般数据访问类+通用数据访问类);

③业务模块(三层结构里面必须要有的,一般大项目才用得到);

④通信模块、通用类模块、服务模块等等。

03 三层结构关系

UI——>业务模块——>数据模块

业务模块作用:

①传递业务请求;

②业务分解;

04 实例练习

4.1、新建文件夹

解决方案文件夹【雷工笔记_三层架构项目】,添加类库

4.2、添加类库

LLGBLL、LGDAL、LGModels、3个类库模块,添加GNotesUI控制台程序。

4.3、添加引用关系

GNotesUI引用LLGBLL,LLGBLL引用LGDAL,LGModels被LLGBLL、LGDAL、GNotesUI引用;

示意图为:

4.4、添加引用步骤:

①选中类,点击引用,然后右击,选择【添加引用】。

②选择【项目】,点击【解决方案】,然后根据上边引用关系示意图,添加引用,

例如:LGBLL要引用LGDAL和LGModels。

③同样的方式,为其他模块添加对应的引用关系。

4.5、生成解决方案

引用关系添加完,选中【解决方案】,右击,选择【生成解决方案】

4.6、LGModels类库

把之前练习的Models中的Account.cs直接移动到LGModels下,然后删除Class1.cs;

将复制过来的Account.cs的命名空间修改为LGModels。

05 业务逻辑职责

①业务传递(隔离作用);

②业务处理;

06 分层的优点

①无论任意一层有改动,都不会影响其他层的代码,直接替换对应层的模块即可。

②便于项目的后续升级,升级对应层即可。

③较大规模的项目,便于分离,便于团队分工开发。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1833341.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

AI时代的数据治理:挑战与策略

随着人工智能(AI)技术的突飞猛进,我们已迈进智能时代的大门。在这个新时代里,数据无疑成为推动AI创新与进步的核心力量。然而,与此同时,数据治理的紧迫性也日益凸显,它成为确保AI系统有效、公正…

晨持绪科技:抖音开网店能不能赚钱

在当今社交媒体时代,抖音作为一款流行的短视频平台,不仅为用户提供了展示才艺、分享生活的空间,也逐渐成为电子商务的新兴战场。不少商家和个人通过开设抖音网店寻求盈利机会。 抖音网店的赚钱可能性与多个因素密切相关。它提供了一个庞大的潜…

英特尔 “AI” 科通:英特尔AI大模型应用前瞻

亲爱的科技探险家、前沿探索者、对未来深具好奇心的您, 身处人工智能引领的时代,我们目睹着行业的革命性变革。技术的创新不仅改变着我们的日常,更重新定义着我们对未来的期许。今天,怀着无限激情和期待,我们邀请您参…

全面了解三大 AI 绘画:Midjourney、Stable Diffusion、DALL·E 的区别和特点

大家好,我是设计师阿威 在当前,比较流行的 AI 绘画软件主要有三个,分别是:StabilityAI 公司的 Stable Diffusion,OpenAI 公司的 DALLE2,以及更为大众所熟知的,Leap Motion公司创始人 David Hol…

2024年6月10日~2024年6月16日周报

文章目录 一、前段时间工作二、完成情况2.1 可变形卷积的学习2.1.1 Introduction-介绍2.1.2 Related Work-相关工作2.1.3 Method-方法2.1.3.1 可变形卷积动态属性的重认识2.1.3.2 Speeding up DCN—加速DCN 2.2 部署可变形卷积 三、假期计划 一、前段时间工作 在之前一段时间主…

【多视图感知】BEVFormer: Learning Bird’s-Eye-View Representation

BEVFormer: Learning Bird’s-Eye-View Representation from Multi-Camera Images via Spatiotemporal Transformers 论文链接:http://arxiv.org/abs/2203.17270 代码链接:https://github.com/fundamentalvision/BEVFormer 一、摘要 本文提出了一种名为BEVFormer的新框架&am…

Marin说PCB之orcad-capture原理图封装库的创建总结----01

今天是个不错的日子,我早上一出门刚骑车到半路就开始下大雨了,可是天气预报上明明说的没有雨啊,所以说天气预报就像是女人的脾气一样,难以揣摩啊,也尽量少去揣摩吧。 小编我刚刚到公司,就收到美国分部同事J…

Nginx + KeepAlived高可用负载均衡集群

目录 一、Keepealived脑裂现象 1.现象 2.原因 3.解决 4.预防 二、实验部署 1.两台nginx做初始化操作并安装nginx 2.四层反向代理配置 3.配置高可用 4.准备检查nginx运行状态脚本 5.开启keepalived服务并测试 一、Keepealived脑裂现象 1.现象 主服务器和备服务器都同…

喜讯 | 全视通获得珠海市第七届“市长杯”工业设计大赛三等奖

近日,在珠海市举行的第七届“市长杯”工业设计大赛颁奖典礼上,珠海全视通信息技术有限公司(以下简称“全视通”)凭借创新的“医护对讲一体终端机”产品,历经激烈的竞争和严格的评选流程,包括大赛宣传发动、…

移植案例与原理 - startup子系统之syspara_lite系统属性部件 (2)

系统属性部件syspara_lite负责提供获取与设置操作系统相关的系统属性,包括默认系统属性、OEM厂商系统属性和自定义系统属性。为满足OpenHarmony产品兼容性规范,产品解决方案需要实现获取设备信息的接口,如:产品名、品牌名、厂家名…

手持气象仪:科技与自然交汇的奇妙工具

TH-SQ5在广袤无垠的大自然中,天气总是瞬息万变,让人难以捉摸。然而,随着科技的进步,人类已经能够借助各种先进的仪器来预测和监测天气变化,其中,手持气象仪便是其中的佼佼者。 手持气象仪,顾名…

聚焦 Navicat 17 新特性 | 查询与配置的革新之处

随着 Navicat 17 的发布,引起业界热烈讨论与关注,这也标志着 Navicat 的产品力再次飞跃。新版本引入的众多创新特性极大地提升了用户在数据库管理和数据分析方面的体验,涵盖模型设计与同步、数据字典、数据分析(data profiling&am…

安卓手机删除文件怎么找回?2个方法,一键救援错过的数据

我们通过手机拍照、录音、录像、浏览网页、社交互动等方式记录和分享生活中的每一个瞬间。然而,手机中的数据也是我们最容易误删的。 当我们不小心删除了重要的文件或数据时,将给生活和工作带来不小的困扰。那么,删除文件怎么找回呢&#xf…

人脸识别系统---年龄预测

一、预测年龄 1.加载预训练的人脸检测模型 face_cascade cv2.CascadeClassifier(haarcascade_frontalface_default.xml)2.加载预训练的性别和年龄识别模型 gender_net cv2.dnn.readNetFromCaffe(deploy_gender.prototxt, gender_net.caffemodel) age_net cv2.dnn.readNet…

英语恶补ing

ing的词组都有停下来做某事的感觉了。 second hand是形容词了。 wouldnt buy这里的would是情态动词,也是助动词 助动词不能单独使用,要搭配实义动词,这样才能构成谓语 情态动词(modals)在英语中有多种作用&#xff…

Linux系统编程——网络编程

目录 一、对于Socket、TCP/UDP、端口号的认知: 1.1 什么是Socket: 1.2 TCP/UDP对比: 1.3 端口号的作用: 二、字节序 2.1 字节序相关概念: 2.2 为什么会有字节序: 2.3 主机字节序转换成网络字节序函数…

springboot + Vue前后端项目(第十七记)

项目实战第十七记 写在前面1. 个人信息1.1 Person.vue1.2 设置路由并改动Header.vue1.3 动态刷新头像1.3.1 在保存个人信息时,触发方法1.3.2 父组件Manage.vue1.3.3 再将user以prop方式传递给子组件Header.vue1.3.4 Header.vue使用user 1.4 效果图 2. 修改密码2.1 前…

《跟我一起学“网络安全”》——等保风评加固应急响应

等保风评加固应急响应 一、安全加固 背景 随着IP技术的飞速发展,一个组织的信息系统经常会面临内部和外部威胁的风险,网络安全已经成为影响信息系统的关键问题。 虽然传统的防火墙等各类安全产品能提供外围的安全防护,但并不能真正彻底的消…

每日复盘-202406017

今日关注: 20240617 六日涨幅最大: ------1--------301036--------- 双乐股份 五日涨幅最大: ------1--------301176--------- 逸豪新材 四日涨幅最大: ------1--------300868--------- 杰美特 三日涨幅最大: ------1--------301082--------- 久盛电气 二日涨幅最大…

day02论文学习:能够使大语言模型产生带有引用的文章

1.主题:Enabling Large Language Models to Generate Text with Citations(能够使大语言模型产生带有引用的文章) 引用出处: Gao, T., Yen, H., Yu, J., & Chen, D. (2023). Enabling Large Language Models to Generate Tex…