DEV Community

Cover image for 设计模式: 存储库 | 完整而简单的解释
Daniela "Ingeniela" Barazarte
Daniela "Ingeniela" Barazarte

Posted on

设计模式: 存储库 | 完整而简单的解释

简介

大家好,我是Daniela Barazarte,我想欢迎大家参加这个关于资源库设计模式的完整解释。这个解释将是如此简单和直接,甚至一个5岁的孩子都能理解它。

如果你喜欢视频,这里有一个我在YouTube上制作的完整教程:https://www.youtube.com/watch?v=b2tPRbQJing

理论[/u

逻辑

"设计模式 "

  • 模式:是一种重复的事件或对象的类型 设计模式库
  • 设计:创造性的活动,其目的是投射出有用和有美感的对象

"储存库 "

  • 库房:存放某些东西的仓库或地方

简单定义

设计模式指的是有一些共同的、可重复使用的模式或解决方案,可以应用于软件设计中的重复性问题。它被称为 "模式 "是因为它在多个项目中重复出现,而设计是因为它以一种简单的方式投射对象。

仓库**是一种软件设计模式,用于将应用程序(编程元素,如类、接口、方法)与数据存储(数据库)分开,并作为两者之间的中介发挥作用。

存储库提供了一组方法来执行对数据的CRUD(创建、读取、更新、删除)操作。

结构

有存储库与无存储库

  • 这张图片的顶部代表一个没有存储库设计模式的系统。
  • 这张图的下半部分代表一个有资源库设计模式的系统

正如你所看到的,资源库设计模式有助于将应用逻辑(拥有CRUD方法和函数)与数据库连接起来......而当资源库不存在时,连接是直接的。仓库作为一个中介存在的事实是很重要的,你将在这篇博客中看到原因。

实践

练习

你有一个WebAPI应用程序,它有创建、读取、编辑和删除火车站门票的方法......让这些门票存储在一个SQL数据库中。

有两种方法可以解决这个任务:

  1. 不使用资源库设计模式来做
  2. 用资源库设计模式来做

方法:无资源库设计模式

无资源库设计模式

数据库存储方法将与票据方法(创建、读取、编辑和删除票据)在一起。

方法:无资源库设计模式
有存储库设计模式

数据库存储方法现在是独立的,不在票据方法旁边了

重要性

资源库设计模式有几个好处:

  • 责任的分离: 存储库设计模式有助于将数据访问逻辑与应用程序的业务逻辑分开。
  • 抽象化: 存储库设计模式在应用程序和数据存储机制之间提供了一个抽象层。这个抽象层使得切换到不同的数据存储机制更容易,而不影响使用存储库接口的应用程序代码。
  • 封装: 存储库设计模式将数据访问逻辑封装在一个地方,使其更容易管理和修改。
  • 可测试性: 存储库设计模式通过提供一个模拟的存储库实现,使得测试你的应用程序的业务逻辑变得很容易,可以用于单元测试。
  • 可扩展性: 存储库设计模式通过提供一个集中的地方来管理数据访问,可以帮助提高应用程序的可扩展性,这可以帮助减少争论并提高性能。

谢谢

非常感谢你的阅读,如果你有任何问题,你可以评论,你也可以在我的其他网络上找到我,如TwitterGitHubLinkedIn

我将准备一篇关于如何在C#和.NET中实现Repository的博文,敬请关注 <3

Top comments (0)