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 2011-01-18 18:36  K_Reverter  阅读(1597)  评论(1编辑  收藏  举报