通过Jive学习 设计模式

周边任选+年卡加赠!下单送Coding Plan 卫衣/双肩包/T恤/羽绒服任选,赠CSDN会员年卡+Coding Plan,学习装备一起拿下! 阅读详情

1. Jive是什么?

Jive是基于JSP/JAVA技术构架的一个大型BBS论坛系统。人们这样评价Jive:学习Java必须读懂两套源代码,第一个就是Jive 第二个是Sun的宠物店Pet Store。

 学习Jive源程序,可以更好的理解和应用设计模式。


2. 设计模式,框架

  •   什么是设计模式?

  特定问题的最优解决方案,是经验。

  • 为什么要使用设计模式?

提高代码的可重用性,可靠性,让代码更容易被使用者理解。例如通用的框架系统spring,ibatis,webx都用到了设计模式。

  • 何为框架?

框架是一组相互协作的类。框架系统是构成一类特定软件可复用设计的一组相互协作的类。主要对应用系统中反复重用部分的提炼,类似一种模板。例如webx框架,将web应用程序反复重用的功能例如webx应用支持的服务-表单验证服务。

框架通常定义了应用体系的整体结构、类和对象的关系等设计参数,以便于具体应用实现者能集中精力于应用本身的特定细节,例如利用webx框架做web应用程序的开发,开发人员只需关心应用程序的逻辑例如编写模板文件,screen类等。

框架强调设计复用,而设计模式最小的可重用单位,因此框架不可避免地会反复使用到设计模式。

  • 什么人不适合学习设计模式?

  不适合初学者。有一定编程经验,最好是项目开发经验后再来学习设计模式。


3. Jive源码用到的几种设计模式

  • 工厂模式和抽象工厂模式

  工厂模式为创建对象提供了一种接口,工厂模式封装了创建对象的细节过程,从而使得外界调用一个对象时,根本无需  关心这个对象是如何产生的。
  工厂模式是创建一种产品接口下的产品对象,而抽象工厂模式是创建多种产品接口下的产品对象。
  • 单态模式
保证一个类有且仅有一个对象实例,并提供一个访问它的全局访问点。
  • 代理模式
它是实际访问对象的代理对象,或者影子对象,主要达到控制实际对象的访问。这种控制的目的很多:提高性能和权限控制例如控制客户端对实际对象的访问权限。
  •  迭代器模式
迭代(Iterator)模式是提供一种顺序访问某个集合各个元素的方法,确保不暴露该集合的内部表现。迭代模式应用于对大量数据的访问,Java Collection API中Iterator就是迭代模式的一种实现。
  • 装饰模式
装饰(Decorator)模式是动态给一个对象添加一些额外的职责,或者说改变这个对象的一些行为。这就类似于使用油漆为某个东西刷上油漆,在原来的对象表面增加了一层外衣。在装饰模式中,有两个主要角色:一个是被刷油漆的对象(decoratee);另外一个是给decoratee刷油漆的对象(decorator)。这两个对象都继承同一个接口
  • 观察者模式
观察者(Observer)模式是定义对象之间一对多的依赖关系,当一个被观察的对象发生改变时,所有依赖于它的对象都会得到通知并采取相应行为。使用观察者模式的优点是将被观察者和观察者解耦,从而可以不影响被观察者继续自己的行为动作。观察者模式适合应用于一些“事件触发”场合。


参考:http://www.jdon.com/idea/jive/03003.htm 



Jive java版源码 Jive java版源码 设计模式必看   立即下载

相关推荐

java学习必学系统--jive

java学习必须了解的系统,整理过后完整系统,导入myeclipse即可,并附带数据库和配置说明,以及jive知识要点详解pdf格式

JIVE: Java Interactive Voice Environment-开源

Jive API是用于编写IVR应用程序的轻量级Java框架。 Jive API的前提是允许编写功能强大的IVR应用程序,而用户不必担心(或知道)底层IVR平台。

jive论坛源码(经典)

jivejava做的最经典的网站源码,经过多人改动,现在几乎完美,大家好好学习啊,呵呵

Jive学习(一)

一、缓存机制的原理:在数据从持久层取出来后保存在内存中,下次读取的时候,直接从内存中读取。 二、缓存是介于应用程序和物理数据源之间,其作用是为了降低应用程序对物理数据源访问的频次,从而提高了应用的运行性能。缓存内的数据是对物理数据源中的数据的复制,应用程序在运行时从缓存读写数据,在特定的时刻或事件会同步缓存和物理数据源的数据。   缓存的介质一般是内存,所以读写速度很快。但如果缓存中存放的数据...

weixin_30546189的博客 176

jive 安装配置

环境准备: Windows XP,  jdk1.6.0_18, Mysql Server 5.5, Tomcat 5.5.35, jive 2.0.1 在设置好JAVA_HOME以后设置CLASSPATH的时候把tools.jar以及dt.jar也放到路径里。 ;%JAVA_HOME%\lib;%JAVA_HOME%\lib\tools.jar;%JAVA_HOME%\lib\dt.ja

fish的专栏 1178

Jive论坛介绍

学习Jive源程序,可以更好的理解和应用设计模式学习Jive论坛Jive论坛Jive论坛Java必须读懂两套源代码,第一个就是Jive 第二个是Sun的宠物店Pet Store.设计模式和面向对象的思想是Java学习的内功,而Jive无疑是九阴真经。Jive论坛的优点是由于采用缓冲机制,可以承受巨大访问量,同时能保持快速反应,在国外站点采用很多。主要功能如下:快速的缓存功能,将经常访问的帖子保存

laixiaonian88的专栏 3268

jive论坛部分代码

jive论坛部分代码。学习设计模式的好帮手。

tiandiqing的专栏 154

Jive论坛简介

学习Jive源程序,可以更好的理解和应用设计模式学习Java必须读懂两套源代码,第一个就是Jive 第二个是Sun的宠物店Pet Store.Jive论坛的优点是由于采用缓冲机制,可以承受巨大访问量,同时能保持快速反应,在国外站点采用很多。主要功能如下:快速的缓存功能,将经常访问的帖子保存在内存中,实现快速访问,可通过Web管理界面动态监测缓存大小,根据访问量动态调整缓存。 强大

SML的专栏 8016

Jive中的设计模式

Jive中的设计模式(来源:http://www.cn.ibm.com/) (Design Pattern) 马旋 Author name (email address)-->2001年 5月摘要:Jive 是一个开放源码的论坛项目, 也就是我们所常见的 BBS, 采用了 SUN 公司的 JSP 技术, 相比起 j2ee 这个庞大的体系结构, 其整个的设计思想非常精炼, 适用于中小型网

Eric.Jonah! 683

Jive1.0中的设计模式

Jive中的设计模式(来源:http://www.cn.ibm.com/) (Design Pattern) 马旋 2001年 5月 摘要:Jive 是一个开放源码的论坛项目, 也就是我们所常见的 BBS, 采用了 SUN 公司的 JSP 技术, 相比起 j2ee 这个庞大的体系结构, 其整个的设计思想非常精炼, 适用于中小型网站, 建立自己的论坛系统. 这篇文章我们就一起来看一看 Ji...

weixin_33859231的博客 101

转载:23种设计模式整理(很全)

23 种设计模式汇集 目录 文章目录23 种设计模式汇集目录设计模式引言学习 GoF 设计模式的重要性建筑和软件中模式之异同设计模式之 Singleton(单态)模式实战书籍《Java 实用系统开发指南》单态定义:设计模式之 Factory工厂模式定义*:*提供创建对象的接口*.* 为何使用*?*工厂模式中有: 工厂方法*(Factory Method)* 抽象工厂*(Abstract Factory).*设计模式之 Builder设计模式之 Prototype(原型)设计模式之 Adapter(适配器)设

qq_46120580的博客 2255

设计模式(Patterns in Java)

如今设计模式已经成为架构师和程序员之间沟通的必备语言,也是普通程序员成长为资深程序员的必备基础之一。只有掌握了设计模式,才能更好地掌握DDD领域驱动设计等OO分析设计方法,也才能更熟练地学习使用不断涌现的新语言。   本站GOF设计模式是国内媒体(书籍和网站)中最早(2002年)成体系专题讲解,至今已经累积了大量不同时期很多道友的模式学习讨论专题。对中国程序员设计思想提升发挥一定作用,甚至有

shenlin2011的专栏 743

如何学习java

如何学习java作者: ∣来源:JavaResearch∣原文地址∣2003-10-17很多网友问我学习Java有没有什么捷径,我说"无他,唯手熟尔".但是我却很愿意将自己学习的一些经验写出来,以便后来者少走弯路,帮助别人是最大的快乐嘛!要想学好Java,首先要知道Java的大致分类.我们知道,自从Sun推出Java以来,就力图使之无所不包,所以Java发展到现在,按应用来分主要分为三大块...

weixin_34111790的博客 156

Java经典流水学习(转帖)

   要想学好Java,首先要知道Java的大致分类。J2SE就是Java2的标准版,主要用于桌面应用软件的编程;J2ME主要应用于嵌入是系统开发,如手机和PDA的编程;J2EE是Java2的企业版,主要用于分布式的网络程序的开发,如电子商务网站和ERP系统。J2SE开发桌面应用软件比起VC,VB,DEPHI这些传统开发语言来说,优势好象并不明显。J2ME对于初学者来说,好象又有点深奥,而且一般开

Leeu的专栏 1366

java信徒齐(七)步走

Java信徒齐(七)步走: 0) 丫丫学步。。。 1) 编程基础// 那么我书也看了,程序也做了,这只是万里长征走完了第一步。不信?那你出去接一个项目,你知道怎么下手吗,你知道怎么设计吗,你知道怎么组织人员进行开发吗?你现在脑子里除了一些散乱的代码之外,可能再没有别的东西了吧!你现在最缺的是实际的工作经验,而不是书本上那些凭空想出来的程序. 2) 项目经验// #1 快去找一份Java的编程工作来...

czl026 160

java初学者

很多网友问我学习Java有没有什么捷径,我说“无他,唯手熟尔”。但是我却很愿意将自己学习的一些经验写出来,以便后来者少走弯路,帮助别人是最大的快乐嘛!   要想学好Java,首先要知道Java的大致分类。我们知道,自从Sun推出Java以来,就力图使之无所不包,所以Java发展到现在,按应用来分主要分为三大块:J2SE,J2ME和J2EE,这也就是Sun ONE(Open Net Environm

loppiz的专栏 847

如何成为java高手

如何迅速成为Java高手 阅读次数3247 出处 http://tech.163.com      --------------------------------------------------------------------------------很多网友问我学习Java有没有什么捷径,我说“无他,唯手熟尔”。但是我却很愿意将自己学习的一些经验写出来,以便后来者少走弯路,帮

baselive的专栏 2423

一个JAVA程序员的成长经历

很多网友问我学习Java有没有什么捷径,我说"无他,唯手熟尔".但是我却很愿意将自己学习的一些经验写出来,以便后来者少走弯路,帮助别人是最大的快乐嘛!要想学好Java,首先要知道Java的大致分类.我们知道,自从Sun推出Java以来,就力图使之无所不包,所以Java发展到现在,按应用来分主要分为三大块:J2SE,J2ME和J2EE,这也就是Sun ONE(Open Net Environ...

weixin_34072637的博客 359
上一篇: java annotation
下一篇: 分布式key-Value存储
cuidiwhere
博客等级 码龄19年 133粉丝 102原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值