通过Jive学习 设计模式

jive论坛源码(经典) jive是java做的最经典的网站源码,经过多人改动,现在几乎完美,大家好好学习啊,呵呵 立即下载

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 



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

相关推荐

Jive java版源码

Jive java版源码 设计模式必看  

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的专栏 1181

JIVE: Java Interactive Voice Environment-开源

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

Jive学习(一)

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

weixin_30546189的博客 176

ADS 2024实战:手把手教你搞定2.3-3.5GHz宽带Doherty功放仿真与版图(附源文件)

本文详细解析了在ADS 2024环境中实现2.3-3.5GHz宽带Doherty功放的全流程设计,包括仿真与版图实现。从软件环境搭建、器件模型导入到核心电路设计、匹配网络优化,再到系统集成与版图生成,提供了实战技巧和关键参数设置。特别针对5G通信和卫星应用中的高效率需求,展示了如何通过ADS 2024的新功能提升设计效率。

weixin_42639246的博客 461

std::map看来可以被淘汰了?可以用vector来替代,而且更好

vector的优势在于内存连续,可以先std::sort,然后std::lower_bound,或者std::binary_search。而std::map,insert的时候,需要new出内存。

tumu_C的博客 1020

Jive论坛介绍

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

laixiaonian88的专栏 3271

从编解码芯片看Tesla T4的隐藏实力:双NVDEC如何实现70路1080P解码?

本文深入剖析了英伟达Tesla T4显卡的隐藏实力,重点解读其独特的双NVDEC硬件解码器设计如何突破性能瓶颈。通过分析Turing架构、对比HEVC/H.264解码差异,并结合驱动与SDK优化,揭示了实现高达70路1080P视频流并发解码的原理与实战配置,为云游戏、直播转码等高并发场景提供高效解决方案。

weixin_29209801的博客 485

jive论坛部分代码

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

tiandiqing的专栏 154

Vue集成天地图:从定位到交互绘图的完整实践指南

本文详细介绍了如何在Vue项目中集成天地图API,从基础配置到高级功能实现,包括定位、标点、画线等交互绘图功能。通过实战代码示例和性能优化技巧,帮助开发者快速掌握Vue与天地图的结合应用,提升地图开发效率。

weixin_29013129的博客 248

【国民技术N32项目移植】基于 Windows 的 ARM GCC 开发环境

【国民技术N32项目移植】基于 Windows 的 ARM GCC 开发环境

weixin_42150032的博客 1363

Jive论坛简介

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

SML的专栏 8023

深入探究贝叶斯网络(Bayesian Network):从基础原理到实际应用

贝叶斯网络,也称为信念网络或有向无环图模型,是一种概率图模型。它使用有向无环图(DAG)来表示随机变量之间的条件依赖关系。每个节点代表一个随机变量,边表示变量之间的条件依赖关系。贝叶斯网络作为一种强大的工具,通过结合概率论和图论,为复杂系统建模和推理提供了有效手段。无论是在医学诊断、故障检测还是自然语言处理等领域,它都展示了巨大的潜力。然而,其计算复杂度高、结构学习困难等挑战也需要我们在实际应用中不断优化算法和技术。希望通过本文,你能对贝叶斯网络有更深入的理解,并能够在实际项目中灵活应用这一强大工具。

qq_28791753的博客 5973

Jive中的设计模式

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

Eric.Jonah! 687

保姆级教程:用ROS2 Humble + Gazebo Classic 从零搭建一个能键盘控制的差分AGV模型

本文提供了一份详细的ROS2 Humble与Gazebo Classic教程,指导用户从零开始搭建一个键盘控制的差分AGV模型。内容涵盖环境配置、Xacro文件设计、Gazebo仿真集成以及键盘控制实现,特别针对常见问题提供解决方案,帮助开发者快速掌握ROS2机器人仿真技术。

weixin_30387423的博客 169

ZYNQ PL通过EMIO ETHE1外接PHY由GMII转RGMII

1,设置EMIO方式引出ETHE1 2,从GMII过度到RGMII GMII: 发送 gmii_tx_clk gmii_tx_d[7:0] gmii_tx_en gmii_tx_er 接收 gmii_rx_clk gmii_rx_d[7:0] gmii_rx_dv gmii_rx_er RGMII: 发送 tx_clk tx_d[3:0] tx_ctrl 接收 rx_clk rx_d[3:0] rx_ctrl 首先数据总线从时钟单边沿采样8bit转变为了双边沿采样4bit,从88E1

wangjie36的博客 1万+

Jive1.0中的设计模式

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

weixin_33859231的博客 102

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

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

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

qq_46120580的博客 2258

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

设计模式(Patterns in Java)

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

shenlin2011的专栏 746

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

如何学习java

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

weixin_34111790的博客 157

Java经典流水学习(转帖)

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

Leeu的专栏 1367

java信徒齐(七)步走

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

czl026 162

java初学者

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

loppiz的专栏 848

如何成为java高手

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

baselive的专栏 2425

一个JAVA程序员的成长经历

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

weixin_34072637的博客 362
上一篇: 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、付费专栏及课程。

余额充值