惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

H
Hackread – Cybersecurity News, Data Breaches, AI and More
G
Google Developers Blog
The GitHub Blog
The GitHub Blog
Jina AI
Jina AI
A
About on SuperTechFans
MongoDB | Blog
MongoDB | Blog
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
博客园_首页
Blog — PlanetScale
Blog — PlanetScale
酷 壳 – CoolShell
酷 壳 – CoolShell
Google DeepMind News
Google DeepMind News
D
DataBreaches.Net
B
Blog RSS Feed
大猫的无限游戏
大猫的无限游戏
美团技术团队
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
L
LangChain Blog
WordPress大学
WordPress大学
S
SegmentFault 最新的问题
腾讯CDC
Hugging Face - Blog
Hugging Face - Blog
阮一峰的网络日志
阮一峰的网络日志
H
Help Net Security
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻

博客园 - K_Reverter

甘南-青海湖九日游(一.出发) Jla框架介绍(五) 设计模式:模块和实例管理 Jla框架介绍(三) 资源引用和Sprite模式 Jla框架介绍(二) 核心和基本规范 - K_Reverter - 博客园 Jla框架介绍(一) 导言和发展历程 解散了地图接口讨论群 重新趋于稳定 黄山游记(三.总结和经验) 黄山游记(二) 黄山游记(一) 杭州西湖长线暴走行程 在杭州的日子 求助:关于IE之中获取鼠标位置 离开腾讯了 谁在频繁的访问我的服务器接口?请和我联系 - K_Reverter - 博客园 我的网站已经全部运行在GAE下 想离开腾讯了 关于geohash的简单探讨 在GAE数据库之中保存文件
Jla框架介绍(四) 配置管理模式
K_Reverter · 2011-01-18 · via 博客园 - K_Reverter

    今天轮到分享这个框架的配置管理机制,一般来讲,每个代码单元都可能允许通过配置参数来实现定制化的界面和功能,如果没有配置,一般是很难将一个代码单元直接移植到另一个应用里面去使用,这一章,我简单的分享一下我为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等位置读取配置的功能,这些功能的实现将不再和买个代码单元相关,进一步保证了代码单元的独立性和重用性。