`
zh_harry
  • 浏览: 99488 次
  • 性别: Icon_minigender_1
  • 来自: 北京
博客专栏
877aca81-daac-33c8-8bf9-3a886cebc6c3
自己动手写java 框架
浏览量:27247
社区版块
存档分类
最新评论

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

    博客分类:
  • JAVA
阅读更多
谈到架构是一个很泛的话题

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

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

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

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

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

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

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

随便推荐一下,我的框架的实践性项目上线了
http://www.zhuaququ.com
4
6
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics