zoukankan      html  css  js  c++  java
  • 关于项目中属性配置文件的改进

          在一些项目开发中,为了使项目具有灵活配置的特性通常会使用配置文件,把一些常用的属性数据通过配置文件的方式引入系统。然而,当这些属性文件中数据变得越来越多的时候,问题还是出现了。

          加入配置文件的数据总结起来大致有以下几类:系统属性(比如系统首页地址等)、通用属性(比如性别等)、行业属性(比如官衔等)、以及用户自定义属性等。刚开始的时候,可能项目比较小,而且只是针对单一客户的,当客户有了修改这些属性数据的需求时,就直接去修改属性配置文件,谁也不愿意去考虑这写数据保存在属性配置文件中到底合适不合适。可是,随着项目逐渐完善,不同模块之间的属性配置文件个数越来越多,文件也变得越来越大,维护的工作量也相应增多,属性配置文件的问题就暴露出来了。

          无论是使用Properties文件,还是XML文件,或者其他的属性配置文件,当文件个数变多,数据量变大之后,维护起来都很费劲。尤其是项目面临产品化的时候,一个项目做成熟之后,可能会被很多客户使用,不同的客户有不同的属性配置需求,如果有几百甚至几千个客户,属性文件修改的工作量可想而知,给项目实施增加了不少难度。其实,最严峻的问题还不在这里,由于属性配置文件里保存的数据都是由固定格式要求的,如果格式错乱就不能正常解析,所以在修改属性配置文件的时候还需要额外小心,否则可能就会造成系统异常。

          对于属性配置文件暴露出来的问题,我个人认为,需要把系统属性相关的数据进行分类处理。我们不能单纯地认为因为属性配置文件有问题就不能用,更重要的是要搞清楚哪些数据才适合放在属性配置文件里。对于系统属性,如果是个性化的系统属性尽量不要放在属性配置文件中,包括行业属性,因为不同的地区可能同一个行业的业务也多多少少有差别,这些数据可以通过系统中的系统维护模块操作数据库来维护。而对于通用属性,相对比较固定,则可以通过属性配置文件来维护。可能对于一些小项目来说,系统维护模块还没有,但是对于一个成熟的项目,我个人认为,还是有必要包含系统维护模块的,提供一些维护系统的常用功能。

         近期,做的一个项目面临了这个问题,所以就写了下来,如果有更好的处理方式,就一起交流下吧,欢迎留言~

     

     

     

  • 相关阅读:
    Python中所有的关键字
    关于selenium的8种元素定位
    对提示框的操作
    selenium+webservice进行百度登录
    MISCONF Redis is configured to save RDB snapshots, but is currently not able to persist on disk. Commands that may modify the data set are disabled...报错解决
    Vue中使用echarts
    npm WARN deprecated request@2.88.2: request has been deprecated, see https://github.com/request/request/issues/3142解决方法
    插入排序
    冒泡排序优化
    roject 'org.springframework.boot:spring-boot-starter-parent:XXX' not found 解决
  • 原文地址:https://www.cnblogs.com/wenlong/p/2375405.html
Copyright © 2011-2022 走看看