大咖直播-鸿蒙原生开发与智能提效实战!>>> 了解详情
写点什么

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:0610590
用户头像

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

关注

评论

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

react源码分析:深度理解React.Context

flyzz177

React

react源码分析:实现react时间分片

flyzz177

React

如何实现OpenHarmony的OTA升级

OpenHarmony开发者

OpenHarmony

使用 NineData 快速构建企业容灾备份

NineData

数据库 数据管理工具 数据备份 运维开发 企业容灾

ChatGPT背后的经济账

OneFlow

人工智能 深度学习 大模型

让远程成为本地,微服务后端开发的福音

北京好雨科技有限公司

Kubernetes 微服务 云原生 企业号 2 月 PK 榜

文盘Rust -- rust 连接云上数仓 starwift

京东科技开发者

rust Clickhouse 语言 rust语言 企业号 2 月 PK 榜

从React源码来学hooks是不是更香呢

goClient1992

React

一口气讲完了Redis常用的数据结构及应用场景

小小怪下士

Java redis 程序员

用javascript分类刷leetcode16.set&map(图文视频讲解)

js2030code

JavaScript LeetCode

一文搞懂Redis

京东科技开发者

redis hash Zset Redis 协议 企业号 2 月 PK 榜

Backbone前端框架解读

京东科技开发者

Vue 前端 前端架构 企业号 2 月 PK 榜 backbone

react源码分析:组件的创建和更新

flyzz177

React

一个简单的案例入门 gRPC

江南一点雨

gRPC

前端刷完这12道滑动窗口,就可以出山面试了

js2030code

JavaScript LeetCode

带你实现react源码的核心功能

goClient1992

React

从React源码角度看useCallback,useMemo,useContext

goClient1992

React

谈谈我对于关键思考的理解

阿里巴巴中间件

阿里云 关键

前端工程师leetcode算法面试必备-二分搜索算法(上)

js2030code

JavaScript LeetCode

什么是WMS系统?

SAP虾客

wms

融云「聊天室属性」: 语聊房、直播间有序运行和丝滑体验的绝技

融云 RongCloud

湖仓一体电商项目(十九):业务实现之编写写入DWS层业务代码

Lansonli

数据湖 湖仓一体电商项目

百度工程师带你了解Module Federation

百度Geek说

JavaScript 微前端 企业号 2 月 PK 榜

2023年国家级重大人才工程引进申报

科兴未来News

创新创业 江苏工博会 博士后 #人才政策# 启明计划

「BY林子」网站资源下载

BY林子

Verilog HDL函数与任务的使用

timerring

FPGA

lua中实现判断是否为局域网IP

ModStart

融云 x 易车:携手八载,打造高效连接用户的汽车服务平台

融云 RongCloud

开源即时通讯IM框架 MobileIMSDK v6.3 发布

JackJiang

网络编程 即时通讯IM

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