Jive与JiveJdon论坛

很多人苦恼如何进一步提高自己的Java编程水平,GoF设计模式又很难搞懂,这时结合学习Jive源程序不失为一个好的方法,而且有助于更好的理解和应用设计模式。

关于Jive,道友yesky12一段话非常精辟:

设计模式和面向对象的思想是Java学习的内功,而Jive无疑是九阴真经

Jive论坛的优点是由于采用内存缓存机制,可以承受巨大访问量,同时能保持快速反应,在国外站点采用很多。主要功能如下:

  • 快速的缓存功能,将经常访问的帖子保存在内存中,实现快速访问,可通过Web管理界面动态监测缓存大小,根据访问量动态调整缓存。
  • 强大的可定制的过滤功能,可以编制Java程序过滤插件对实现超强功能过滤。
  • 附件上传功能,贴子中可以支持多种类型文件,包括图片和PDF文件,可以设置上传最大字节数。
  • 个性图片随意设置,并可以上传自己的个性图片。
  • 支持Html标签,可上传plugIn定制特定的标签功能。
  • 增强 SMTP 发信能力,目前已经可以同时支持 SMTP、ESMTP 和 Sendmail 来发信。
  • 与新闻组newsgroup交换信息,可以将互联网上任何一个newsgroup的信息转换成论坛的帖子,以论坛形式浏览新闻组。
  • 灵活的、可扩展的的用户权限控制系统,可通过Web管理界面动态设定论坛资源的用户访问权限。
  • 论坛数据导出,可通过Web管理界面将论坛数据以树形结构导出到XML文件,方便Web Services等拓展应用。
  • 论坛版主功能,可设定论坛版主独立管理功能。
  • 积分功能。

由于原来Jive版本存在架构设计缺陷(面向数据库编程 无MVC 无框架)以及版权问题(版权归原Jive软件所有,非开源),只能供学习使用,J道已经全新开发了基于Jdon框架的真正全新开源JiveJdon版本,为升级方便继承沿用Jive数据库设计等,引入最新设计概念。

JiveJdon

JiveJdon是DDD领域驱动设计实现案例,运行在Jdon.com网站多年,聚合模型:

六边形架构和干净架构:

领域模型原则:

  1. 高层次的封装

private默认情况下,所有成员setter方法都是internal:

 

需要繁重的构建器模式来创建聚合根:

  1. 高水平的PI(持久性无知)

不依赖于基础设施,数据库和其他东西。所有课程都是POJO。

jdonframework的客户/供应模型可以从Persistence / Repository中分离域模型。

域外的所有数据都打包在DTO贫血模型(AnemicMessageDTO)中,因此聚合根实体中的业务规则不会泄漏到域外。

  1. 丰富的行为

所有业务逻辑都位于域模型中。没有泄漏到应用程序层或其他地方。

  1. 低水平的原始观察

Entites的原始属性使用ValueObjects组合在一起。 MessageVO是聚合根实体ForumMessage的valueObject ,包含消息内容:subject和body,它将使用复杂的业务过滤逻辑进行处理,这些过滤器有很多实现,例如:TEXT到HTML。

  1. 业务语言

以有界上下文中使用的业务语言命名的所有类,方法和其他成员。

 

JiveJdon文档点按进入

 

相关文章

从Jive2到JiveJdon3看OO发展轨迹

初学者在J2EE的困惑

Jive与Ofbiz的Cache机制比较

第三章 网站内容管理系统

#Jive专题 #JiveJdon

Jivejdon开源Github地址