`
wenlongsust
  • 浏览: 66976 次
  • 性别: Icon_minigender_1
  • 来自: 西安
文章分类
社区版块
存档分类
最新评论

关于项目中属性配置文件的改进

 
阅读更多

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

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

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

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

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

分享到:
评论

相关推荐

    PMBOK项目管理计划及项目文件(57份).zip

    活动属性 活动资源需求 假设日志 角色与职责 里程碑清单 内部需求跟踪矩阵 配置管理计划 人力资源计划 项目范围说明书 项目管理计划 需求跟踪矩阵 需求管理计划 需求文件 质量测量指标 质量管理计划 自下而上成本...

    体系文件-配置管理程序.doc

    4 1.5 配置审计状态 4 1.6 引用文件 4 2 职责 5 2.1 项目经理 5 2.2 服务部 5 3 流程图 6 4 具体内容 7 4.1 配置项策划 7 4.2 配置项识别 7 4.3 配置项状态记录 7 4.4 建立配置管理数据库 7 4.5 过程监控 7 4.6 更新...

    JAVA上百实例源码以及开源项目源代码

     数字证书:从文件中读取数字证书,生成文件输入流,输入文件为c:/mycert.cer,获取一个处理X.509证书的证书工厂…… Java+ajax写的登录实例 1个目标文件 内容索引:Java源码,初学实例,ajax,登录  一个Java+ajax写...

    gradle-8.4-all.zip 快速下载

    关于基于JVM的项目的更多改进,请参见下面的完整发行说明。 Kotlin DSL,最近成为新项目的默认DSL,继续得到改进。嵌入在Gradle中的Kotlin版本已经已更新至Kotlin 1.9.10。简单的属性赋值=操作员已经提升为稳定。...

    Altium Designer Beta 19.0.10完整版安装包+安装教程+和谐文件

    修复了项目属性的变化未传递到BOM输出的问题(BC:9580 ; 7072)。 24029 向云组件数据添加了新的“供应商包装”参数,以区分制造商的“包装”参数(BC:8063 ; BC:8986)。 24443 解决了BOM过滤选项在设计项数量...

    ionioc-starter-improved:离子项目改进

    #使用Parse集成改进的Starter Ionic应用... 使用解析控制台中的值,在下面显示的app.js文件部分中设置属性 . value ( 'ParseConfiguration' , { applicationId : "SET-THIS-USING-PARSE-APPLICATION-ID" , javascrip

    mvn-jlink:Maven插件提供了在Maven项目中使用jlink工具的方式

    变更日志 1.1.0(2020年3月27日) ...改进了cache-jdk mojo,增加了通过ANT模式搜索缓存的JDK根目录中文件的功能,并将找到的路径作为项目属性放置 介绍 从Java 9开始,JDK具有模块(Jigsaw项目),并

    vfp6.0系统免费下载

    Project 对象拥有“项目信息”对话框中所有信息的相关属性,其中包括文件和服务程序的集合。 由于开发人员常希望与项目有关的各种事件进行交互,比如添加文件或进行连编,因此需要创建一个新类 (ProjectHook) 来...

    Azure[Sky] Dynamic Skybox v7.0.3

    在运行时更改天气条件非常简单,可以创建带有多种不同天气设置的白天配置文件列表并且流畅地在列表中的每个配置文件间切换。该天气系统还提供闪电效果和完整的声音特效来模拟下雨、刮风以及雷暴。 局部天气区域: ...

    Struts原理、开发及项目实施

    对于大型的WEB项目,通过此配置文件即可迅速把握其脉络,这不管是对于前期的开发,还是后期的维护或升级都是大有裨益的。掌握Struts-config.xml是掌握Struts的关键所在。 <br/>FormBean:RegUserForm <br/>...

    JAVA上百实例源码以及开源项目

     数字证书:从文件中读取数字证书,生成文件输入流,输入文件为c:/mycert.cer,获取一个处理X.509证书的证书工厂…… Java+ajax写的登录实例 1个目标文件 内容索引:Java源码,初学实例,ajax,登录  一个Java+ajax写...

    基于hhww改进版的传统五笔输入法(新版支持WIN7)

    自行复制 ime 和 mb 文件到系统目录中,然后使用 imetool 的安装输入法功能指定输入法名称和 ime 文件即可。 IME TOOL 可以从注册表中删除不需要的输入法,但并不删除文件。 七、其它功能 打开输入法属性、打开关闭...

    基于hhww改进版的传统五笔输入法

    1、关于NTFS分区中Guest用户不能使用问题,用以下命令设置码表权限: cacls "%windir%\system32\我的输入法.mb" /t /e /c /g users:w 2、在Vista中IE7(UAC)下不能使用问题,用以下命令设置一下码表级别: icacls...

    2.ASP.NET.2.0.高级编程(第4版) [1/7]

    13.2.6 2.0版本中XmlReader和XmlWriter的改进 437 13.3 XmlDocument和XPathDocument 438 13.3.1 DOM的问题 438 13.3.2 XPath、XPathDocument和XmlDocument 438 13.4 DataSet 442 13.4.1 把DataSet保存到XML中 ...

    asp.net知识库

    革新:.NET 2.0的自定义配置文件体系初探 关于如何在ASP.NET 2.0中定制Expression Builders 怎么在ASP.NET 2.0中使用Membership asp.net 2.0-实现数据访问(1) ASP.NET 2.0 新特性 .NET 2.0里使用强类型数据创建...

    TabBars---VC6 IDE增强插件

    通常从网上下载的例子代码都是压缩在zip文件中的,查看zip文件中的项目通常要将代码解压缩到临时目录中然后用VC打开项目,“TabBars”提供了不离开VC的集成开发环境就能够查看zip压缩文件中的VC项目的功能。...

    PowerTalkBox即时通讯源码(改进版)

    客户端交互是使用WebService技术,WebService文件在源代码->Chat->PowerTalk-FetionInterFace.asmx,所以才配置PowerTalkClient.exe.config 本示例项目是单客服与多个客户之间的聊天,如果想更改成多个客服,只要...

    易语言程序免安装版下载

    修改BUG:在IDE中打开源代码文件(.e)后,高级选择夹组件不能正确切换到“现行子夹”属性设定的子夹。 9. 修改BUG:矢量动画支持库中的“矢量编辑框”组件在光标位于组件右下角时按右光标键进入下一行会导致显示...

    吹风机:让您的gradle保持干燥

    Blowdryer使您可以将构建脚本,配置文件和属性集中到一个存储库中,并具有简单的工作流程,可将这些资源提取到使用它们的各个项目中,就地进行改进,然后将这些改进循环回其他项目中。 如何使用它 首先,建立一个...

Global site tag (gtag.js) - Google Analytics