百度空间 | 百度首页 
 
查看文章
 
第三方软件使用杂谈:第三方软件与3C
2008-06-19 22:46


 

 如果客户让你实现一个日志功能,你会估计多少时间完成?很清楚,这无法决定,因为它取决于需求的复杂程度,基本上来说针对第三方软件,使用复杂度通常是分三个阶段,往往随着时间的发展,依次为:

 第一阶段 最简单的需求,第三方工具提供的例子完全能满足。

  比如日志功能,客户惜字如斤的给你说,“我需要日志”,你可能想到Log4j,你未曾用过,但久仰其名。然后你就打开Log4j的官方文档,很快你就知道,“哦,我可以创建一个log4j.properties文件放到classpath路径里,内容可以从官方文档里拷贝出来“,也许你就只用了不到三天就实现了。

  在比如,需求是有几个后台任务需要调度,Ok,你认为很简单,打开www.open-open.com,选择调度框架,选择第一个Quartz,发现文档很全, 改写了参考文档的例子,也许你只用了不到一周便做完了

 第二阶段 需要二次开发,客户越来越过分,他的需求你发现你选择的第三方软件无法满足

  即使现在很多第三方软件都提供了插件功能或者可扩展功能,但需求前变万化除了二次开发,别无选择

  比如日志功能里,客户说,我很喜欢Logger提供了info,waning,debug这些方法,能不能给我提供一个audit 专用于审计的方法。哎~~Logger里没有这个方法,那你只好去研究Logger源代码,然后创建好几个新类,最后,终于能实现

  MyLogger logger = MyLogger.getLogger(XXXX.class);logger.info("same with Logger"); logger.audit(“new method“);

  这次的二次开发也许要花上你俩周到四周的时间

  再比如任务调度,客户突然发现,这俩个任务有依赖关系,客户给你描述,负责统计数据的任务必须先执行完并且成功执行,负责扣钱的任务才能在第二天执行。这下你就肯定抓狂了,Quartz只负责定时执行任务,没有处理依赖关系的功能,这时候,你就不得不二次开发,最后终于实现:

@Task(id="koufei" depend="tongji")...也许要花上你一个月的时间.

 第三阶段:居然需要跟别的工具平台整合。你的开发时间将由别的系统来决定,你不能控制时间了

 系统越做越好,客户很满意,于是客户说,我现在有个统计报表系统,你跟他们去整合一下,我希望能在他们系统看到你们纪录日志的情况。。。。 。或者,客户说,“任务调度有时候会成功,有时候失败,我现在买了一个KPI系统,你们的调度数据看看能不能倒入到他们系统里,这样,我们管理员可以查考调度情况。。顺便说一下,这是KPI系统负责人员电话,你去联系一下他。。。。

 如果你运气非常好,你也许使用第三方软件只在第一阶段就够了,但是你得要警惕,充分考虑到有可能的二次开发,系统整合后期俩阶段,它们影响了你对任务完成时间的估计,难度的估测.也影响了你的士气!!!

 最后简要说一下3c的概念Component,Customize,Cooperation,分别对应于每个阶段,方便你记忆


类别:默认分类 | 添加到搜藏 | 浏览() | 评论 (0)
 
最近读者:
 
网友评论:
发表评论:
姓 名:
网址或邮箱: (选填)
内 容:
验证码: 请点击后输入四位验证码,字母不区分大小写
      

     

©2009 Baidu