过去网站的换肤功能比较简单,仅仅局限于 css 的修改上。而 WordPress 的主题功能十分强大,它为制做者公开了大量的 API ,通过调用这些 API 主题制做者可以根据喜好在主题中调用不同的 API 来达到不同的效果。甚至还可以对 API 进行扩展。这样做优点是显而易见的–灵活。不过缺点也是有的,即对主题制做者的要求比较高。不仅要了解 CSS、HTML 等前端知识,更要对 PHP 有一定的了解。看看目前 WordPress 种类繁多的主题就知道这点门槛并不算什么。
我是一名 Java 开发人员,更喜欢用 Java 的方式考虑问题。如何使用 Java 实现类似功能呢?这个问题要是在十年前那并不算什么问题。在 Jsp + Bean 的时代,完全可以参考 WordPress 的实现方式实现该功能。但今天没有人会去那样做,在这个框架横行的时代,想要灵活地实现这个功能似乎有些困难。毕竟框架为开发者设定了条条框框。目前大多数 Java 的 Web 应用会使用 VSSH (Velocity + Struts + Spring + Hibernate) 进行开发,我们假定以 VSSH 框架结构来考虑如何实现这个功能。
Continue Reading »
对于 Java 来说,数据结构不象 C 语言那样需要自行实现,因为 Java 本身已经提供了丰富的数据结构。例如我们经常用来的 List、Map 等。不过自行实现一些数据结构不仅对我们的逻辑思维能力有帮助,并且让我们更加了解数据结构的底层实现。今天我们来说说 Java 中怎么利用数组来实现队列。
首先了解一下什么是队列:队列是一种特殊的线性表,它只允许在表的前端进行删除操作,而在表的后端进行插入操作。进行插入操作的端称为队尾,进行删除操作的端称为队头。这也就是我们平常经常用说到的先进先出原则(FIFO)。Java 中的 List 就可以作为队列来使用,在队列尾部添加元素则使用 list.add 方法,从队列头部删除元素则使用 list.remove 方法。要用数组来实现,就必需定义进和出的下标,实现方法如下:
Continue Reading »
《Java Annotation 基础》中我们简单地介绍了 Java Annotation 的作用以及 Java 标准的 Annotation 。今天我们来了解一下 xml 和 Annotation 各自作为配置项的优缺点。
首先说说 xml 。目前 web 应用中几乎都使用 xml 作为配置项,例如我们常用的框架 Struts、Spring、Hibernate、IBatis 等等都采用 xml 作为配置。xml 之所以这么流行,是因为它的很多优点是其它技术的配置所无法替代的。
1、xml 作为可扩展标记语言最大的优势在于开发者能够为软件量身定制适用的标记,使代码更加通俗易懂。
2、利用 xml 配置能使软件更具扩展性。例如 Spring 将 class 间的依赖配置在 xml 中,最大限度地提升应用的可扩展性。
3、具有成熟的验证机制确保程序正确性。利用 Schema 或 DTD 可以对 xml 的正确性进行验证,避免了非法的配置导致应用程序出错。
4、修改配置而无需变动现有程序。
Continue Reading »