1278 成长值

个人介绍

这个人很懒,什么都没有留下

感兴趣或擅长的领域

人工智能、编程语言
个人勋章
  • 考证狂人
成长雷达
425
273
200
360
20

个人资料

个人介绍

这个人很懒,什么都没有留下

感兴趣或擅长的领域

人工智能、编程语言

达成规则

他的回复:
## Day05 **微信昵称**:ヤ亽o﹏妳 **华为云账号**:f1113206748 ### 搭建一套开发框架 ASP.NET Core框架不规定用于创建服务的任何特定的体系结构样式。 REST:指的是一组架构约束条件和原则,满足这些约束条件和原则的应用程序或设计就是RESTful。它是一种架构模式,用于创建使用HTTP作为其基础通信方式的API。REST体系结构模式指定了系统应遵守的一组约束,即REST约束。 ​ RESTful约束用于限制服务器端只能遵循这些约束来处理和响应客户端请求,而遵循这些约束服务也可以获取理想的非函数化的属性,比如性能、可伸缩性、简单程度、可变能力、 可见度、灵活性和可信度。 #### Swashbuckle.AspNetCore 主要组件: 1. Swashbuckle.AspNetCore.Swagger: 将Swagger对象模型和中间件转换为 SwaggerDocument对象,然后作为公开JSON。 2. Swashbuckle.AspNetCore.SwaggerGen: 是一个Swagger生成器,可以将 SwaggerDocument从路由、控制器和模型中直接生成对象。 3. Swashbuckle.AspNetCore.SwaggerUl: 它是一个嵌入式的多版本Swagger UI工具。 #### 领域驱动设计 基本层:展现层、应用层、领域层、基础设施层 - MockSchoolManagement.Mvc即 领域驱动中的展现层。 - MockSchoolManagement.Application即领域驱动中的应用层。 - MockSchoolManagement.Core即 领域驱动中的领域层。 - MockSchoolManagement.EntityFrameworkCore即领域驱动中的基础设施层。
他的回复:
## Day04 **微信昵称**:ヤ亽o﹏妳 **华为云账号**:f1113206748 ### 泛型仓储的最佳实践落地 #### 软件架构 软件架构即软件系统的顶层设计结构。 架构规则: - 架构是顶层设计。 - 框架是面向编程或配置的半成品。 - 组件是从技术维度上的复用。 - 模块是从业务维度上职责的划分。 - 系统是相互协同可运行的实体。 #### 系统,模块与模块 - 系统是由无数个子系统组成的。 - 子系统由无数个模块构建而成。 - 模块则由无数个组件组合而成。 #### 仓储模式 采用仓储模式的优势包括:使代码更清晰,更易于重用和维护:允许创建松耦合的系统。 **异步编码** 当线程等待I/O完成时,如果使用异步编码,则服务器会进行资源协调,将部分线程释放出来,用于处理当前请求。异步编码可以使服务器更加有效地使用资源,Web服务器将减少延迟,处理更多的流量。 #### 并发冲突 数据库并发指多个进程或用户同时访问或更改数据库中的相同数据触发,并发控制指的是在发生并发更改时确保数据一致性的特定机制。 并发冲突:在一个用户写入前另一个用户对同一数据进行访问。 悲观锁: 悲观并发又称悲观锁,大多数的应用程序为了防止在并发情况下出现数据丢失,会将数据库锁定。具体操作是从数据库中读取一条数据之前,将它锁定为只读或更新状态。 - 只读状态时,其他用户可以读取数据但是不能对数据进行更新。 - 更新状态时,其他用户无法对该行数据进行读取或者修改。 乐观锁: 乐观并发又名开放式并发,也称作乐观锁。它允许多个进程或用户独立进行更改而不产生数据库锁,以节省开销。在理想情况下,这些更改将互不干扰。 ​ 悲观锁每次读取数据的时候都会对数据加锁,而乐观并发每次读取数据的时候都默认不加锁,只有在更新的时候才判断当前数据有没有更新。通常乐观锁会通过给数据添加版本号的记录机制实现,乐观锁适用于多读的应用类型,这样可以提高吞吐量。
他的回复:
## Day02 **微信昵称**:ヤ亽o﹏妳 **华为云账号**:f1113206748 ### ASP.NET Core MVC #### MVC M是指业务模型,V是指用户界面,C则是控制器,使用*MVC*的目的是将M和V的实现代码分离,从而使同一个程序可以使用不同的表现形式。 分层设计: - 用户展现层 - 业务逻辑处理层 - 数据访问读取层 **MVC是用于实现应用程序的用户界面层的架构设计模式。** 模型(Model) 数据模型,提供要展示的数据,包含数据和行为,就是 dao,bean,也就是模型提供了模型数据查询和模型数据的状态更新等功能,包括数据和业务。 视图(View) 网页, JSP,用来展示模型中的数据,用于显示Controller提供给它的模型中数据。 控制器(controller) 接收用户请求,委托给模型进行处理(状态改变), 处理完毕后把返回的模型数据返回给视图,由视图负责展示。也就是说控制器做了个调度员的工作。 MVC框架要做哪些事情 1.将url映射到java类或java类的方法。 2.封装用户提交的数据。 3.处理请求--调用相关的业务处理--封装响应数据。 4.将响应的数据进行渲染. jsp / html等表示层数据。 #### 在asp.net Core中安装MVC 1. 将所需的MVC服务添加到asp.netcore中的依赖注入容器中。 - AddMvcCore()方法只会添加最核心的MVC服务。 - AddMvc()方法添加了所有必需的MVC服务。 - AddMvc()方法会在内部调用AddMvcCore()方法。 2. 添加MVC中间件到我们的请求处理管道中。 #### 依赖注入 ASP.NET Core依赖注入容器注册服务 - AddSingleton():首次请求时会创建Singleton服务,然后,所有后续的请求中都会使用**相同**的实例。 - AddTransient():每次请求时,都会创建一个**新**的Transient服务实例。 - AddScoped():在**范围内**的每个请求中创建个**新**的Scoped服务实例。 依赖注入特点: - 低耦合 - 提供了高测试性,使单元测试更加的容易 #### Entity Framework Core - ORM (对象关系映射器) Object- Relational Mapper - EF Core是轻量级,可扩展和开源的软件 - EFCore也是跨平台的 - EF Core是微软官方推荐的数据访问平台。