阿里、蚂蚁、晟腾、中科加禾精彩分享 AI 基础设施洞见,现购票可享受 9 折优惠 |AICon 了解详情
写点什么

Apache Isis:领域驱动设计的 Java 框架

  • 2013-01-18
  • 本文字数:839 字

    阅读完需:约 3 分钟

近日,Apache发布了Apache Isis ,这是个用于快速开发领域驱动应用的Java 框架。用户可以将精力放在领域对象的开发上,Apache Isis 则负责持久化、安全与用户界面。Apache Isis 遵循六边架构模式,将领域模型置于中间位置,而表示、持久化与其他服务都依赖于领域模型。Apache Isis 在去年10 月成为Apache 顶级项目,其1.0 版于去年12 月发布。

Apache Isis 遵循约定优于配置,开发者会根据一套约定与注解来编写 POJO 领域对象。接下来,这些对象会被 Isis 框架解析,框架还会负责展现、安全与持久化。当 Web 应用或是 RESTful API 遵循了 Restful 对象规范时,Apache Isis 就可以在运行期生成领域模型的展现。开发团队可以使用自动生成的 Web 应用与 Web 服务进行快速原型,甚至是产品部署。

Apache Isis 架构

Apache Isis 可扩展且可定制。开发团队可以选择不同的视图、对象存储、安全机制、分析存储与编程模型。可用的视图有 Wicket、RestfulObjects、Scimpi、DnD、HTML、JUnit 与 BDD Concordion。可用的对象存储有 JDO、NoSQL、SQL 与 XML。安全可以通过文件、Shiro、LDAP 或 SQL 实现。分析可以存储为 XML 或是数据库中。领域对象(通常使用 Java 编写)还可以使用 Groovy 编写,使用 Groovy 编程模型组件。Isis 1.0 带有 Isis 核心、基于文件的安全、JDO 对象存储、Wicket 视图与 Restful Objects 视图。其他组件仍然在孵化器中。

要想上手,请访问 Apache Isis Quickstart Archetype 页面,你可以通过介绍使用 Isis Maven 构件创建新的 Isis 应用。这会生成一个简单的单类领域模型,用于记录待办事项。它还包含了多个 Maven POM 文件,一个是父 POM,一个是领域对象模型,其他的则是不同的组件,如 JDO 对象存储与 Wicket 视图。Isis 还有一个 CheatSheet ,用于帮助你回忆该遵循哪些约定或是该使用哪些注解。

要想了解更多信息,请访问官方的 Apache Isis文档视频示例教程。源代码位于 Isis Apache 仓库 GitHub 上也有镜像。

查看英文原文: Apache Isis: Java Framework for Domain-Driven Design

2013-01-18 03:0610248
用户头像

发布了 88 篇内容, 共 258.4 次阅读, 收获喜欢 8 次。

关注

评论

发布
暂无评论
发现更多内容

一张图进阶 RocketMQ - 整体架构

三此君

kafka RocketMQ MQ 消息队列 消息中间件

“你真的入门前端了吗”

bo

前端 7月月更

给生活加点惊喜,做创意生活的原型设计师丨编程挑战赛 x 选手分享

声网

人工智能’

一张图进阶 RocketMQ - NameServer

三此君

kafka RocketMQ MQ 消息队列 分布式消息中间件

UART

贾献华

7月月更

一张图进阶 RocketMQ - 通信机制

三此君

RocketMQ Netty MQ 消息队列 异步通信

Prometheus 运维工具 Promtool (一)Check 功能

耳东@Erdong

Prometheus 7月月更 Promtool

RocketMQ 消息集成:多类型业务消息-普通消息

阿里巴巴云原生

阿里云 RocketMQ 云原生 消息队列

idea / eclipse 配置 Tomcat 并发布 Web 项目

攻城狮杰森

eclipse tomcat IDEA javaWeb 7月月更

DDos攻击分类

穿过生命散发芬芳

DDoS 7月月更

如何创建和管理自定义的配置信息

Damon

7月月更

Qt | 事件系统 QEvent

YOLO.

qt 7月月更

你还不会Vue3吗

bo

前端 Vue 3 7月月更

LeetCode-69. x的平方根(java)

bug菌

Leet Code 7月月更

一张图进阶 RocketMQ - 消息存储

三此君

RocketMQ MQ 消息队列 broker commitlog

java零基础入门-异常、线程(中)

喵手

Java 7月月更

C#入门系列(三十) -- 异常处理

陈言必行

7月月更

《ArchSummit:从珍爱微服务框架看架构演进》

后台技术汇

架构 后台开发 架构师 后台 ArchSummit

阿里 Seata 新版本终于解决了 TCC 模式的幂等、悬挂和空回滚问题

阿里巴巴云原生

阿里云 开源 微服务 云原生 seata

一张图进阶 RocketMQ - 消息发送

三此君

kafka RocketMQ MQ 消息队列 消息发送

iOS中对象等同性isEqual:和hash

NewBoy

ios 前端 移动端 iOS 知识体系 7月月更

高阶产品如何提出有效解决方案?(1方法论+2案例+1清单)

张姣发

产品经理

JDBC 驱动升级到 Version 8.0.28 连接 MySQL 的踩坑记录

攻城狮杰森

MySQL JDBC database 7月月更

把字符串转换成整数与不要二

未见花闻

7月月更

Qt|QLable多行展示时更改行间距

中国好公民st

qt 7月月更

STM32+HC05串口蓝牙设计简易的蓝牙音箱

DS小龙哥

7月月更

语音聊天app源码-钠斯网络源码出品

开源直播系统源码

语聊房 直播系统源码 开源源码 语音聊天系统

QDir类的使用 以及部分解释

小肉球

qt 7月月更

云计算三类巨头:IaaS、PaaS、SaaS,分别是什么意思,应用场景是什么?

wljslmz

云计算 IaaS PaaS SaaS 7月月更

数据中台建设(一):数据中台出现的背景

Lansonli

数据中台 7月月更

Apache Isis:领域驱动设计的Java框架_Java_Bienvenido David_InfoQ精选文章