细说Roller扩展点及其无侵入式二次开发参考
写在前面
?
断断续续研究了roller大半年,对优秀的开源代码感受颇深!其中最深的是体会是Roller尤其适合那些有一点基础并愿意提高自己的程序员,因为Roller是一个很容易理解的开源产品,不像Spring那样提供全面的、底层的功能,当然spring不是不可以研究,只是roller更接近我们平时开发的产品。
优秀的开源软件越来越多,同时也被用来进行二次开发。二次开发是重用别人的劳动成果的一种方式。为什么这里要谈这个问题呢,因为我见过某个公司重用别人的代码是把人家的包名改了一下,这样做的不好之处是当开源软件升级的时候你就无法跟着升级。所以希望这里能提供一个如何做无侵入式的二次开发参考!
?
?
什么是无侵入式二次开发
?
无侵入式二次开发是指可以轻松的跟着开源软件升级。比如,用最新的开源软件jar包替换老的jar包,你的系统还能照样运行。当然,这只是一个方面,二次开发可能涉及的不仅仅是jar包的问题,可能涉及到各种各样的文件和目录的结构问题。
?
无侵入的方式
?
对于java来说,jar包可能是普遍的方式之一。那么这种主要通过类的继承和扩展来达到无侵入式的目的。
?
对于web应用,无侵入式二次开发就没有那么轻松了。这是因为涉及到jsp、html、css、js这些无法应用面向对象思想好处的文件。对于这种情况,就要看看创建该项目的开发人员的功力了。一般情况下,笔者认为可以借助合理的目录结构和打包脚本(比如ant)。
?
再来就是开源软件对二次开发的重视程度。优秀的开源软件一般来说都设计得非常灵活,这对系统的可扩展性和可维护性的有很大的帮助。甚至有些专门设计了钩子程序为了扩展,非常方便二次开发。其他方式如:专门设计留出客户化配置文件。比如说roller中的roller-custom.properties文件,通过这个文件可以覆盖默认设置。对于二次开发来说,非常友好。
?
如何对roller进行二次开发
?
对于这个问题,很难说得准。这要看看我们是看中了roller的那些优点,及其如何利用。并且跟我们要开发的业务也有很大的关系。这里通过从技术层面来找出一般的二次开发方法。
?
这里我们要基于roller开发一个企业产品展示网站。
?
未完(待续)。。。。。
1 楼 bee1314 2011-07-01 Roller确实不错,官方文档写的也很详细!