【小玩意儿】使用C#的“贫血模型”快速配置组件QuickConfig
2012-05-06 22:20
309 查看
一个程序,免不了的一件事就是做运行时配置。.Net平台原生的配置就是使用App.config。但是这种方式配置起来并不十分的灵活,而且是文本文件,不适合存储一些较为敏感的信息。
园子中也有很多博主发表过关于“快速配置文件”的文章,使用的是“序列化”和“反序列化”相关的知识。但是,仅仅给出了一个简单的实现,并不能复用。由于我经常性的会遇到需要给软件加一个配置文件的问题,于是就花费了一点时间,制作了一个QuickConfig组件,分享给大家。如果代码什么的有不对的地方,欢迎大家指出。
先说说QuickConfig的特点:
基于贫血模型:如果你的程序已经有了配置文件,并且为这个配置做了一个实体类来方便管理,那么,如果要QuickConfig,您只需要做很少的变更即可。
实时更新配置:如果在软件运行时,您手动修改了配置文件,那么这个修改是会立即反映到程序中的。
默认配置支持:任何一项配置,都会有一个默认值,对吧?
配置文件容错:如果客户不小心把配置文件搞丢了,或者弄坏了,那么软件就不能运行了吗?No,No,No。软件可以基于默认配置继续运行。
配置操作方便:可以随时从文件中读取配置,或者把配置保存,或者重置为默认值。(调用相应的方法即可)。
自定义序列化方式:组件默认提供XML序列化,您可以自己定义序列化方式。比如Json。
配置加密支持:通过自定义序列化方式,可以对流加密,自然就可以对配置文件加密。
自定义配置文件文件名:配置文件保存在程序的运行目录,默认是一个以配置类全名为文件名的xml文件。您也可以自己定义文件名。
是不是有些心动了呢?下面就让我们从实例入手吧!
首先,创建一个配置实体,定义好属性后,在构造函数中,写入配置默认值:(记得加入Serializable特性)
恢复默认值
长出一口气。终于完成了。这是我第一次在博客园中分享自己写的组件,如果大家有什么意见,欢迎提出。QuickConfig的下载地址是:http://files.cnblogs.com/Soar1991/QuickConfig.7z
由于一些原因,文件中只有组件,没有例子,劳烦大家手敲吧。(*^__^*) 嘻嘻。喜欢的话,劳烦大家给个支持。谢谢~!
园子中也有很多博主发表过关于“快速配置文件”的文章,使用的是“序列化”和“反序列化”相关的知识。但是,仅仅给出了一个简单的实现,并不能复用。由于我经常性的会遇到需要给软件加一个配置文件的问题,于是就花费了一点时间,制作了一个QuickConfig组件,分享给大家。如果代码什么的有不对的地方,欢迎大家指出。
先说说QuickConfig的特点:
基于贫血模型:如果你的程序已经有了配置文件,并且为这个配置做了一个实体类来方便管理,那么,如果要QuickConfig,您只需要做很少的变更即可。
实时更新配置:如果在软件运行时,您手动修改了配置文件,那么这个修改是会立即反映到程序中的。
默认配置支持:任何一项配置,都会有一个默认值,对吧?
配置文件容错:如果客户不小心把配置文件搞丢了,或者弄坏了,那么软件就不能运行了吗?No,No,No。软件可以基于默认配置继续运行。
配置操作方便:可以随时从文件中读取配置,或者把配置保存,或者重置为默认值。(调用相应的方法即可)。
自定义序列化方式:组件默认提供XML序列化,您可以自己定义序列化方式。比如Json。
配置加密支持:通过自定义序列化方式,可以对流加密,自然就可以对配置文件加密。
自定义配置文件文件名:配置文件保存在程序的运行目录,默认是一个以配置类全名为文件名的xml文件。您也可以自己定义文件名。
是不是有些心动了呢?下面就让我们从实例入手吧!
首先,创建一个配置实体,定义好属性后,在构造函数中,写入配置默认值:(记得加入Serializable特性)
恢复默认值
class Program { static void Main(string[] args) { var cfm = QuickConfigManagement<AppConfig>.Create(); Console.WriteLine(cfm.ConfigModel.AppName);//Soar Brain Burst cfm.Reset();//配置设为默认值 Console.WriteLine(cfm.ConfigModel.AppName);//Brain Burst /* * 在调用Reset之后, * 实体配置并不会被写入配置文件。 * 要想写入配置文件, * 需要调用Save方法。 */ cfm.Save(); } }
长出一口气。终于完成了。这是我第一次在博客园中分享自己写的组件,如果大家有什么意见,欢迎提出。QuickConfig的下载地址是:http://files.cnblogs.com/Soar1991/QuickConfig.7z
由于一些原因,文件中只有组件,没有例子,劳烦大家手敲吧。(*^__^*) 嘻嘻。喜欢的话,劳烦大家给个支持。谢谢~!
相关文章推荐
- [转]C#中使用自定义配置(app.config)
- C#访问数据库使用web.config配置连接字串
- Using Settings in C# 在C#中使用APP.CONFIG配置文件
- C#的配置文件App.config使用总结 - 转
- C#的配置文件App.config使用总结
- c#中配置文件(app.config)的使用
- C# 的配置文件App.config使用总结
- C# 配置文件App.config的使用操作
- C#配置文件config的使用
- 【ASP.NET Core快速入门】(五)命令行配置、Json文件配置、Bind读取配置到C#实例、在Core Mvc中使用Options
- web.config C#中使用自定义配置
- C#实现的 快速查找通用组件 YHSoft.QuickFind
- 在C#类库中使用App.config文件自定义配置
- C#的配置文件App.config使用总结
- C# 使用app.config文件方法 读取外部配置信息
- C# 使用配置文件App.config配置ftp地址。
- 使用C#语言读取config配置文件
- web.config C#中使用自定义配置
- 在C#类库中使用App.config文件自定义配置