欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Jive学习心得 博客分类: jive学习 设计模式lucene网络应用数据结构全文检索 

程序员文章站 2024-03-18 20:24:40
...
Jive学习心得

一. 设计模式
1. 工厂模式:

   它主要是为创建对象提供了一种接口(此处的接口为要创建对象的接口),工厂模式主要是封装了创建对象的细节过程,从而使得外界调用一个对象时,根本无需关心这个对象是如何产生的。
抽象工厂模式:


2. 单态模式
(1)。使用单态模式的目标是为了控制对象的创建,单态模式经常使用在控制资源的访问上。例如数据库连接或Socket连接等。单态模式可以控制在某个时刻只有一个线程访问资源。由于Java中没有全局变量的概念,因此使用单态模式有时可以起到这种作用,当然需要注意是在一个JVM中。
(2)。单态模式是保证一个类有且仅有一个对象实例,并提供一个访问它的全局访问点。

3.代理模式(动态代理)
(1).它是实际访问对象的代理对象,或者影子对象,主要达到控制实际对象的访问。这种控制的目的很多,例如提高性能等。
(2).其中一个主要的控制目的是控制客户端对实际对象的访问权限。在Jive系统中,因为有角色权限的分别,对于Forum、ForumThread和FroumMessage的访问操作必须经过权限机制验证后才能进行。

4.迭代模式
      (1).迭代(Iterator)模式是提供一种顺序访问某个集合各个元素的方法,确保不暴露该集合的内部表现。迭代模式应用于对大量数据的访问

5.装饰模式
      (1).装饰(Decorator)模式是动态给一个对象添加一些额外的职责,或者说改变这个对象的一些行为。这就类似于使用油漆为某个东西刷上油漆,在原来的对象表面增加了一层外衣。
在装饰模式中,有两个主要角色:一个是被刷油漆的对象(decoratee);另外一个是给decoratee刷油漆的对象(decorator)。这两个对象都继承同一个接口。

6.观察者模式(主题监测)
     (1).观察者(Observer)模式是定义对象之间一对多的依赖关系,当一个被观察的对象发生改变时,所有依赖于它的对象都会得到通知并采取相应行为。使用观察者模式的优点是将被观察者和观察者解耦,从而可以不影响被观察者继续自己的行为动作。观察者模式适合应用于一些“事件触发”场合。

7.外观(Facade)模式
      (1).在门面模式中,通常只需要一个门面类,并且此门面类只有一个实例,换言之它是一个单列类(要使用单列模式)。

二.Jive安全管理机制
   1.安全验证机制。主要是验证用户名和密码组合是否与数据库中注册时的数据一致,以确认该用户身份为注册用户。这是对所有的JSP访问都进行拦截访问。

   2.访问权限控制(ACL)。对不同的数据不同用户拥有不同的访问权限,例如,一个帖子普通用户可以浏览,但是不能更该;但是管理员却可以编辑删除。这部分功能是通过代理模式实现,为每个关键数据都建立一个代理类用来实现访问权限检查,这在前面讨论过。

   3.用户资料管理系统。主要是管理用户的资料数据,进行用户组和用户关系的建立等。



三.Jive的缓存机制
   1.缓存(Cache)机制是提高系统运行性能必不可少的技术。缓存机制从原理上讲比较简单,就是在原始数据第一次读取后保存在内存中,下次读取时,就直接从内存中读取。原始数据有可能保存在持久化介质或网络上。缓存机制也是代理模式的一种实现。

四.全文检索和Lucene
    1.这个功能主要核心依赖另外一个开放源代码项目Lucene(http://jakarta.apache.org/lucene/docs/index.html)。Jakarta Lucene是一个高性能全文搜索引擎,可以跨平台应用于任何搜索应用。



五.Jive的树形结构
1.Jive的管理功能中提供了将Jive数据库数据导出到XML文件的管理工具,在这个工具功能实现中,使用了树形结构的遍历技术。



六.XML和JDOM