在 ASP.NET Core 和 C# 中实现 Singleton DBManager
介绍
本文讨论了单例设计模式及其重要性,然后演示了如何使用 dotConnect for PostgreSQL 和 C# 构建单例 DBManager(一个包装对数据库的所有调用的类)。它还讨论了这种方法的优缺点。
先决条件
您将需要以下工具来处理代码示例:
设计模式简介
设计模式可用于解决软件开发中反复出现的问题或复杂性。它们分为三类:结构性、行为性和创造性。创建模式可用于创建类的实例并管理它们。但是,结构模式定义了类型及其关系,并有助于理解实体之间的关系。行为设计模式强调对象如何协作以及如何在它们之间委派职责。
什么是单例设计模式?
顾名思义,单例设计模式将类的实例化限制为仅一个对象。换句话说,一个遵循单例设计模式的类将不允许创建一个以上的实例。
用例
单例设计模式的典型用例是:
- 日志管理器
- 数据库管理器
- 服务注册中心
创建一个新的 ASP.NET Core Web API 项目
之前,我们提到了进入实际场景所需的工具。是时候使用这些工具了。
首先,我们需要创建一个新的 ASP.NET Core Web API 项目:
- 打开 Visual Studio 2019。
- 单击创建一个新项目。
- 选择ASP.NET Core Web 应用程序,然后单击下一步。
- 指定项目名称和位置以将该项目存储在您的系统中。或者,选中将解决方案和项目放置在同一目录中复选框。
- 单击创建。
- 在“创建新的 ASP.NET Core Web 应用程序”窗口中,选择API作为项目模板。
- 选择ASP.NET Core 5或更高版本作为版本。
- 禁用Configure for HTTPS和Enable Docker Support选项(取消选中它们)。
- 由于我们在此示例中不使用身份验证,因此将身份验证指定为No Authentication。
- 单击创建以完成该过程。
我们将在本文中使用这个项目。
在 ASP.NET Core 和 C# 中实现单例 DBManager
在本节中,我们将实现一个遵循单例设计模式的简单 DBManager 类。
创建数据库表
使用以下脚本创建一个新的数据库表:
CREATE TABLE books(
book_id serial PRIMARY KEY,
book_title VARCHAR (255) UNIQUE NOT NULL,
book_pages INT NOT NULL
);
我们将在本文中使用这个数据库表来存储和检索数据。
安装 NuGet 包
要开始使用,您应该在项目中安装 dotConnect for PostgreSql 包。您可以从 Visual Studio 中的 NuGet 包管理器工具安装它,也可以使用以下命令从 NuGet 包管理器控制台安装它:
PM> Install-Package Devart.Data.PostgreSql
如果安装成功,您就可以开始在应用程序中使用 dotConnect for PostgreSQL。
配置应用程序
您应该在配置文件中指定数据库连接字符串,即 appsettings.json,然后在您的应用程序中读取连接字符串。将 appsettings.json 的默认生成代码替换为以下代码:
{
"PostgreSqlConnectionString": {
"DefaultConnection": "UserId = postgres; Password =
mypass;host=localhost;database=Test;"
},
"AllowedHosts": "*"
}
您还应该将 IConfiguration 实例添加到服务容器,以便您可以从应用程序中的任何位置访问它。
常见问题FAQ
- 程序仅供学习研究,请勿用于非法用途,不得违反国家法律,否则后果自负,一切法律责任与本站无关。
- 请仔细阅读以上条款再购买,拍下即代表同意条款并遵守约定,谢谢大家支持理解!