`
jinjiankang
  • 浏览: 112937 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

JForum源代码研究—命令模式(Command pattern)

阅读更多

JForum中的MVC

 

说说MVC之“控制”中所使用的命令模式。

 

下图是《Java与模式》P824页,47.2节“命令模式的结构”给出的命令模式的类图:

按《Java与模式》的描述,命令模式涉及到五个角色,它们分别是:

  • 客户(Client)角色
  • 命令(Command)角色
  • 具体命令(ConcreteCommand)角色
  • 请求者(Invoker)角色
  • 接受者(Receiver)角色

 

下图是JForum中出现的命令模式的类图:

在JForum的命令模式类图中,很明显有:

  • 命令(抽象类Command)角色
  • 具体命令(UserAction、AdminAction和PostAction等)角色

其他几个角色不是很明显。

JForum的service()方法:创建了一个具体的命令类对象,即UserAction、AdminAction和PostAction等

	private Command retrieveCommand(String moduleClass) throws Exception
	{
		return (Command)Class.forName(moduleClass).newInstance();
	}

 并调用命令对象的process()方法:

	Command c = this.retrieveCommand(moduleClass);
	Template template = c.process(request, response, context);

 可见,JForum既扮演者客户角色,又扮演请求者角色。

 

 

Command的process()方法最重要的是:

this.getClass().getMethod(action, NO_ARGS_CLASS).invoke(this, NO_ARGS_OBJECT);

 其中action是Command某个子类的方法名,即通过反射调用某个子类的具体方法。

 

 

没有接收者角色。

 

 

 

 

 

分享到:
评论

相关推荐

    jforum3源代码

    通过研究JForum3的源代码,开发者不仅可以学习到Java Web开发的最佳实践,还能掌握如何构建一个健壮、易扩展的社区平台。无论是对Java框架的深入理解,还是对Web应用开发流程的整体把握,JForum3都是一份宝贵的教育...

    jforum的源代码和物理结构

    **JForum 源代码与物理结构详解** JForum 是一个功能丰富的开源论坛系统,以其高效、可扩展和用户友好的界面而闻名。这个压缩包包含 JForum 的源代码和类包,对于开发者来说,这是一个宝贵的资源,可以深入理解其...

    jforum3源代码 数据库

    **JForum3源代码数据库详解** JForum3是一款基于Java的开源论坛系统,它提供了丰富的社区功能,包括用户管理、论坛板块、主题讨论、帖子回复等。本篇将深入探讨JForum3的源代码和其与数据库的交互,以及如何进行...

    jforum漏洞利用源代码

    《JForum漏洞利用源代码解析》 JForum是一款流行的开源Java论坛系统,它以其功能丰富、社区友好而受到许多用户的青睐。然而,如同任何复杂的软件系统一样,JForum也存在安全漏洞,这些漏洞可能被恶意用户利用,对...

    jforum配置安装介绍+源代码

    jforum配置安装介绍+源代码 jforum配置安装介绍+源代码

    jforum开源论坛 官方源代码(2.1.9)

    《jforum开源论坛官方源代码(2.1.9)详解》 JForum是一款基于Java技术的开源论坛系统,以其高效、稳定和易用性在开源社区中受到广泛关注。本次我们探讨的是JForum的2.1.9版本,这是一个经过众多开发者共同努力优化...

    jforum 2.1.9源码

    《JForum 2.1.9源码深度解析与应用指南》 JForum,作为一款开源的、基于Java的网络论坛系统,深受开发者喜爱。2.1.9版本的发布,不仅提供了稳定的功能,还为开发者们带来了丰富的自定义可能性。本文将深入探讨...

    jforum2.1.9代码及SQL SERVER数据库备份

    1. **框架结构**:jForum基于Java Servlet和JSP技术构建,利用MVC(Model-View-Controller)设计模式,将业务逻辑、数据模型和用户界面分离,便于维护和升级。 2. **安全性**:jForum在2.1.9版本中已经对许多安全...

    jforum-2.1.8版本完整源代码(1)

    jforum-2.1.8版本完整源代码(1),因为完整版本超过15mb,因此分成两部分下载。

    jforum-2.1.8-编译代码.zip

    总的来说,JForum 2.1.8的源代码是一个深入学习Java Web开发、论坛系统设计和MVC模式的实践案例。通过分析和理解这些代码,开发者不仅可以提升自身的编程技能,还能掌握如何设计和实现一个高可用、高性能的在线社区...

    Jforum2.19

    通过深入研究Jforum的源代码,开发者可以了解到Java Web应用的开发模式,包括MVC架构、ORM框架的使用(如Hibernate)、国际化处理、权限控制等方面的知识。同时,这也是学习和理解Web论坛系统设计与实现的一个宝贵...

    JForum源代码

    JForum 是采用Java开发的功能强大且稳定的论坛系统。它提供了抽象的接口、高效的论坛引擎以及易于使用的管理界面,同时具有完全的权限控制、多语言支持(包括中文)、高性能、可自定义的用户接口、安全、支持多...

    jforum-2.1.8版本完整源代码(2)

    jforum-2.1.8版本完整源代码(2) 请找到(1)部分一起解压。

    jforum2.1.8

    对于开发者而言,JForum 2.1.8的源代码是一份宝贵的资源。通过阅读和学习源码,可以了解Web应用的设计模式,如MVC架构,以及如何利用Java Servlets和JSP进行动态网页开发。同时,还可以研究其数据库设计,学习如何...

    java开源论坛jforum

    JForum的源代码是公开的,这对于学习Java Web开发和理解MVC模式的人来说是一份宝贵的资源。通过阅读和分析JForum的代码,开发者可以深入了解如何在实际项目中应用MVC模式,学习到如何组织代码以提高可读性和可维护性...

    JForum3 完整项目

    总结来说,JForum3是一个成熟的Java论坛解决方案,它的完整源代码对于Java Web开发者来说是一个宝贵的资源,无论是用于学习、研究还是定制自己的论坛系统,都能从中受益匪浅。通过深入了解JForum3的架构和实现,...

    JForum3 jforum java 开源论坛 论坛

    这款论坛软件使用了Java语言编写,遵循开放源代码的原则,允许用户自由地使用、修改和分发。JForum3是JForum系列的第三个主要版本,相较于前两个版本,它在性能、安全性和用户体验方面都做了显著的提升。 在Java...

    Jforum相关文档和PPT

    开发者可以通过跟踪源代码或日志来理解这一过程,以便在出现问题时快速定位原因。 处理请求的流程主要遵循Model-View-Controller(MVC)设计模式。在Jforum中,用户请求被控制器(Controller)接收,然后根据请求...

    jforum2论坛源码

    标题"jforum2论坛源码"表明了我们关注的是一个名为jforum2的开源论坛系统的源代码。jforum2是一个基于Java技术的讨论板平台,允许用户进行互动交流,提供社区建设和管理功能。源码通常包含程序的所有原始代码,可供...

    jforum说明文档 源码解析 单点登录 jforum缓存

    Jforum的源码结构清晰,采用MVC(模型-视图-控制器)设计模式,使得代码维护和扩展变得容易。主要的组成部分包括: 1. **模型层(Model)**:处理业务逻辑和数据库交互。Jforum使用Hibernate作为ORM工具,负责将数据...

Global site tag (gtag.js) - Google Analytics