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

Heroku

Simplify your DevOps and maximize your time.

Since 2007, Heroku has been the go-to platform for developers as it monitors uptime, performance, and infrastructure concerns, allowing you to focus on writing code.

Learn More

Top comments (0)

Billboard image

Create up to 10 Postgres Databases on Neon's free plan.

If you're starting a new project, Neon has got your databases covered. No credit cards. No trials. No getting in your way.

Try Neon for Free →

👋 Kindness is contagious

Please leave a ❤️ or a friendly comment on this post if you found it helpful!

Okay