K_Reverter的网页开发记录

要么不做,要么就当作艺术品来做!

导航

统计

Jla框架介绍(四) 配置管理模式

    今天轮到分享这个框架的配置管理机制,一般来讲,每个代码单元都可能允许通过配置参数来实现定制化的界面和功能,如果没有配置,一般是很难将一个代码单元直接移植到另一个应用里面去使用,这一章,我简单的分享一下我为Jla框架设计的配置机制。

    配置机制需要实现在任意地方,对任意的代码单元进行统一的配置,而代码单元在读取这个配置的时候,按照统一的标准去读取,而不应该该配置是由哪个代码单元设置的,这就是配置机制的设计思路,进一步将代码单元和应用本身分离开来。

 

    我设计的配置机制非常简单,对代码单元来讲,只需要这样使用即可读取配置:

复制代码
 1 Jla.require("Js.Config",2,function(Config)
 2 {
 3     function App()
 4     {
 5         var num1=Config.get(App,"configItem1",5);
 6         var str1=Config.get(App,"configItem2");
 7         alert(str1);
 8     }
 9     Jla.set("Test.ClassA");
10 })
复制代码

 

    这个程序简单的读取了自己的两项配置,Js.Config的get方法有三个参数:

        a.参数1是类的本身或者命名空间字符串,在读取的时候,建议使用类本身,这样就可以和类的命名空间无关了

        b.参数2是类的配置项名称,因为一个类可能有多项配置,这儿可以指定读取哪一项配置

        c.参数3是在指定的配置没有被设置时的默认值,如果没有配置该项,则会直接返回该值

     在任何时候需要写入配置的时候,也非常简单,按照上面的方式调用Js.set方法即可,不过因为在设置配置的时候,该类可能还没有加载,因此在写入配置的时候,可能更多是采用字符串作为第一个参数:

 

 1 Jla.require("Js.Config",2,function(Config)

2 {
3     Config.set("Test.ClassA",configItem1,10);
4     Config.set("Test.ClassA",configItem2,"test string");
5 })

 

    这就是配置的设置过程,虽然非常简单,但是我希望通过这样简单的指定,将配置处理的繁杂工作从各个代码单元之中解放出来,而由Config类来完成,设想只需要改写get方法,就可以实现从服务器或者Cookie等位置读取配置的功能,这些功能的实现将不再和买个代码单元相关,进一步保证了代码单元的独立性和重用性。

posted on   K_Reverter  阅读(1603)  评论(1编辑  收藏  举报

编辑推荐:
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
阅读排行:
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 分享 3 个 .NET 开源的文件压缩处理库,助力快速实现文件压缩解压功能!
· Ollama——大语言模型本地部署的极速利器
· [AI/GPT/综述] AI Agent的设计模式综述
点击右上角即可分享
微信分享提示