疯子在思考之-从日志想到的软件架构

谈到架构是一个很泛的话题

这里我们讨论一下兼容性与扩展性

我们为什么用接口?这是很多java程序员都会问过的问题
我的答案是为了扩展和兼容

最近的框架中想加入日志功能,想自己写一个简单的日志操作类
其实我们最常用的应该是log4j
但jcp标准是java.util.logger 这两个东西完全不兼容,网上有很多说明了原因。有兴趣的同学可以去网上查一查。

其实日志随便用什么框架或者自己写都是可以的,为什么还要如此纠结呢?
这里我纠结的不是功能实现,而是其中的思想。
我怎么才能做一个可扩展的日志框架?

jcp的标准并不是实际上的标准,就象osi和tcp/ip一样,理论上的与工业上实际标准并不一样。
社区的log4j已经很多年了,而java官方并没有去兼容。

最近发现
log4j 的作者 Ceki Gülcü 出来了一标准SLF4J并做了一个实现框架logback.
这个框架应该也很久了,可惜我最近在工作中才发现。
这里领悟到一个思想,当官方标准不被承认,很多框架百花齐放的时侯,我们为了扩展,其实可以定义一个自己的标准,通过实现对需要用到的框架做兼容。

这样就会避免直接引用某一个框架的对象(这里比如说是log4j),当对这个框架进行替换时需要修改所有的引用,可能是成千上万的。

随便推荐一下,我的框架的实践性项目上线了
[url]http://www.zhuaququ.com[/url]
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值