插件内部的JAVA类应合理划分包,以便于通过浏览JAVA包的方式找到对应的类。一般插件内的JAVA类应按如下规则存放:
根: 指插件拥有的顶级JAVA包,例如com.zving.article。一般在根下存放本插件定义的所有接口、IPlugin类以及最重要的几个IExtendItem实现类。以com.zving.article为例:
ArticleContent.java
ArticleContentType.java
ArticleCoreDataUser.java
ArticlePlugin.java
IAutoFormatRule.java
action包: 存放扩展行为类。本插件注册的扩展行为类存放在action包下。以com.zving.article.action:
AfterContentSaveAction.java
ArticleCatalogRecycleBinDeleteAction.java
BeforeContentPublishAction.java
CatalogConfigUIAction.java
SiteConfigUIAction.java
UserPreferencesUIAction.java
bl 包: 存放业务逻辑类,BL类中一般是对数据库进行操作的业务逻辑。简单的不涉及到数据库操作的工具方法应该放到util包。以com.zving.article.bl为例:
ArticleBL.java
code包: 存放固定代码项的类。本插件注册的固定代码项放到单独的code包,是因为固定代码项比较特殊又很常用,且经常会一个插件注册多个,所以单独放到一个包中以便于查找。以com.zving.block.code为例:
BlockStatus.java
RecommendType.java
config包: 存放固定配置项的类。本插件注册的固定代码项放到单独的config包,是因为固定配置项项比较特殊又很常用,且经常会一个插件注册多个,所以单独放到一个包中以便于查找。以com.zving.media.config为例:
AudioPlayerPath.java
VideoPlayerPath.java
point包: 存放扩展点要求的扩展行为的虚拟类。根据插件体系的要求,定义扩展点时必须指定对应的扩展行为的父类,point包即用于存放这些父类。以com.zving.media.point为例:
AudioTagSqlExtend.java
BeforeAudioDeleteAction.java
BeforeFileDeleteAction.java
BeforeImageDeleteAction.java
BeforeVideoDeleteAction.java
FileTagSqlExtend.java
ImageGroupTagSqlExtend.java
VideoTagSqlExtend.java
privilege包: 存放权限项相关的类。以com.zving.block.privilege为例:
BlockDeletePriv.java
BlockEditPriv.java
BlockPublishPriv.java
BlockRecommendPriv.java
BlockSiteAddPriv.java
ContentAddBlockPriv.java
ContentSetRecommended.java
property包: 存放扩展属性类,即继承自com.zving.contentcore.IProperty的类。以com.zving.article.property为例:
AutoStatFlag.java
ThirdPartyStatCode.java
UseThirdPartyStat.java
service包: 存放扩展服务相关类,主要是继承自com.zving.framework.extend.IExtendService的类,以及相关辅助类。以com.zving.article.service为例:
AutoFormatRuleService.java
tag包: 存放模板标签类。以com.zving.article.tag为例:
CmsArticleNavBarTag.java
CmsArticleTag.java
template包: 存放模板类型相关类。以com.zving.article.template为例:
ArticleDetailTemplate.java
ArticleIdentificator.java
ArticleListTemplate.java
ui包: 存放UIFacade类。以com.zving.article.ui为例:
ArticleDownLoadPDFUI.java
ArticleExportUI.java
ArticleHistoryUI.java
ArticleInputNewWordManagerUI.java
ArticleReprintEditorUI.java
ArticleUI.java
AutoFormatRuleUI.java
util包: 存放工具类(包括定时任务、缓存的类)。以com.zving.contentadvance.util为例:
ContentAdvanceCache.java
ContentadvanceCancelTopTask.java
DimensionCatalogCache.java
DimensionCatalogUtil.java
VirtualCatalogUtil.java
view包: 存放文档工作台的视图类。以com.zving.block.view为例:
BlockView.java
item包: 存放扩展项的类,除权限项、扩展属性、标签、模板类型这些已经有专门的包存放之外的所有扩展项存放在此包里。以com.zving.comment.item为例:
CommentAPIMethod.java
CommentTemplateEditorTool.java
ContentCommentDealPriv.java
MemberCommentMenu.java
MemberCommentTemplateProperty.java
|
所有评论仅代表网友意见