当前位置:首页 > Web开发 > 正文

可读性 -这种格式对于初学者来说有点吓人

2024-03-31 Web开发

标签:

原文:.NET开源类库Nini手册(INI、XML、注册表的配置应用)-中文翻译

目录

Nini .NET配置库()
VB代码的注释我保存了原文注释,它和C#注释的内容是一样的,下载链接在文章末尾。

1.简介 1.1什么是应用措施配置数据?

作为开发人员,您始终需要措置惩罚惩罚应用措施配置数据。常见的示例是INI 文件,XML文件, .NET配置文件(也称为“ .config”),Windows注册表和命令行(argv)参数。配置文件的长处是它们加载速度快,不占用大量空间且易于编纂。

1.2问题

测验考试创建配置文件访谒方案不能满足措施员或最终用户的需求。为了给出真实的生活场景,我为一个使用Windows注册表API(应用措施编程接口)配置其原始措施的组织事情。后来,他们开发了本身的ASP配置类。约莫在同一时间,另一个小组开发了一个API,该API可从数据库中获取数据。然后,当ASP.NET呈现时,他们开始使用Web.config。在短短的几年之内,配置数据源的数量就从一增加到了四个!不用说,获取配置数据凡是成为一项艰巨的任务。以下是可以改造配置打点的三个主要方面:

API
开发人员使用配置文件格局,以使其应用措施在尽可能短的时间内运行。但是,凡是在事后才添加用于访谒此数据的API,从而导致API不够灵活。在很小的应用措施中,这可能不是问题,但是跟着措施代码库的增长,配置信息凡是会普遍整个应用措施代码。

最终用户
配置文件凡是不会考虑最终用户。凡是,配置选项是简洁的编程术语,只有最勇敢的用户才敢变动它们。这导致开发人员不得不编写庞大的配置文件编纂器,或更糟糕的是,它们会完全从头设计其原始API。

多个配置源
跟着您软件的成熟,添加更多应用措施配置类型的情况并不少见(例如我之前给您的示例)。这凡是是由于合并其他项目中的代码,新的改造格局以及迁移到差此外编程平台而引起的。这迫使措施员学习多个API。最终功效是代码不一致,也不适合新措施员。不会替换旧的配置文件,因为措施员及其经理不适应变动成熟的代码。编纂文件的用户可以抵抗此变动,因为他们但愿不学习新的文件格局。

1.3介绍Nini

Nini是一个成果强大的 .NET配置 库,旨在辅佐快速构建高度可配置的应用措施。Nini供给了一种解决方案,,试图消除上述问题。它供给了一个大型成果集,可为您供给从观点到成熟产品的每个阶段都将使用的成果。这是通过简单但灵活的API实现的,该API供给了对根本配置源的抽象。它解决了我上面描述的所有问题。我们将不才面的示例中看到如何完成此操纵。

2.入门 2.1一个简单的例子

为了向您展示Nini如何解决这些问题,让我们来看一个示例。首先,让我们看一个示例配置文件。对付本手册中的大大都示例,我将选择INI 格局。INI文件是一种久经考验的真实配置文件类型,用于诸如MySQL,PHP和Samba之类的著名开源项目 。实际上,Nini撑持多种INI文件类型。它们非常简单且易于编纂,因此仍然长短常受欢迎的选择。Nini包罗它本身的INI解析器类(IniDocument),该类 完全用C#编写,没有 Windows API代码,因此它是跨平台的。这是此示例的MyApp.ini文本:

Copy

; MyApp.ini [Logging] File Name = MyApp.log MessageColumns = 5 MaxFileSize = 40000000000000

以下是一段C#示例代码,它描述了如何从上述文件中的INI文件访谒配置数据:

Copy

using Nini.Config; IConfigSource source = new IniConfigSource("MyApp.ini"); string fileName = source.Configs["Logging"].Get("File Name"); int columns = source.Configs["Logging"].GetInt("MessageColumns"); long fileSize = source.Configs["Logging"].GetLong("MaxFileSize");

这是VB中的示例:

Copy

Imports Nini.Config Dim source As New IniConfigSource("MyApp.ini") Dim fileName As String = source.Configs("Logging").Get("File Name") Dim columns As Integer = source.Configs("Logging").GetInt("MessageColumns") Dim fileSize As Long = source.Configs("Logging").GetLong("MaxFileSize")

温馨提示: 本文由Jm博客推荐,转载请保留链接: https://www.jmwww.net/file/web/32968.html