序
这位同事在哭爹骂娘啊...以前的代码,一个ConnectionString竟然配置也那么多次,而且设置代码里面还有,my god把数据库连接池搞死了...
文
估计大多数人也都如此,入门的时候都喜欢用“很硬”公司AppSetting,的确很方便&Easy。些许时间后得用点“牛逼”的实现Section...,或者整个xml...
大约大概我就那么过去,直到做游戏的时候。
——一个游戏(譬如说捕鱼机)一会儿一个人,一会儿6个人,甚至其他的搞不清楚多少人,写代码也烦人,弄个集合算了,读文件读到好多个就是好多个,省时省心。每个人的炮台位置不一样,角度不一样...属性还有不少,挨个写岂不是也很麻烦,对了,都想到了,持久化好了,这不就是配置文件了,格式爱用json或xml自己想,过分复杂还可以自己串行化嘛,还有带参不行扔个attribute吧。至于被串行化的类,看情况而定可以单列一个配置类,然后代码处理一下;也可以将就现成类,给需要配置的打上Attribute标记。至于反串行化,继续省点事,写个静态构造吧。——此参考当然对于稍微复杂一点的。
很少且简单的配置,还是推崇AppSetting,毕竟都省事。
我还是一直认为学习一个别人的配置代价是高昂,而且站在Code的角度很烦。像web(这个很多时候还没得办法)、wcf...。
wcf我几乎是用代码的,一大堆项,如果交给不熟的人,看到都烦。再来点log的配置,让人都神经了,且往往运行中变更是极少的参数项,这个不得不说win和linux,都知道win方便,人家就是把常用的在界面显眼处show出来,复杂的不怎么用的难以理解的来个“高级”(反正给你个默认的)。那会儿被骂成“傻瓜式”,这个形容词真心不好 —— 现在的产品设计不正是需要这样吗?!苹果、互联网产品现在不也是朝着这么模式来设计吗,就给“很硬”公司贴上“傻瓜式”,不公平啊。话说回去 —— 如果wcf和log都来一火,都很复杂且还是两个,真的很烦,能用code解决用code解决,然后并为一个配置,能不改的不暴露出来,这样不坑别人也不坑以后的自己。
没有明确的界限,毕竟配置也是给人用的,要方便合理。Section在吵了一番后,相信知道什么时间用了吧。