文章目录概述定义特性术语技术概念架构和组件生态圈部署Docker部署基于hadoop环境安装前置条件安装使用步骤官方样例Cube说明示例演示准备演示数据创建项目选择数据源创建Model创建CubeCube构建与Hive查询对比 概述定义Apache Kylin 官网中文地址 https://kylin.apache.org/cn/Apache Kylin 官网中文最新文档 https://kyl
转载 2024-06-04 23:34:00
60阅读
  前一篇介绍了仓储的基本概念,并谈了我对仓储的一些认识,本文将实现仓储的基本功能。  仓储代表聚合在内存中的集合,所以仓储的接口需要模拟得像一个集合。仓储中有很多操作都是可以通用的,可以把这部分操作抽取到基类中。  在Util.Domains项目中创建一个文件夹Repositories,这个文件夹用来放仓储相关的接口。在Repositories下创建一个仓储接口IRepository。  把仓储
转载 2024-08-27 10:35:01
134阅读
DDD至少30年以前,一些软件设计人员就已经意识到领域建模和设计的重要性,DDD这一名词,由埃里克·埃文斯(Eric Evans)在2003发表的《领域驱动设计》一书提出。这本书理论性极强,奠定了领域驱动设计这一综合性软件设计理论的基础。书籍本身也成为DDD的“圣经”。截止作者出搞该书发表已有20年。 笔者08年进入互联网行业,13年第一次听说DDD,到最终落地2020年经历了至少8年的时间。 回
看了一段时间的微服务和领域驱动设计DDD了,找个例子练习下。 阅读目录一、1、项目分层二、2、项目架构三、3、代码示例1.3.1 首先来看看表结构2.3.2 聚合的划分 阅读目录DDD领域驱动设计初探1 回到目录 DDD领域驱动设计初探1前言:又有差不多半个月没写点什么了,感觉这样很对不起自己似的。今天看到一篇博文里面写道:越是忙人越有时间写博客。呵呵,似乎有点道理,博主为了证明自
JetSpeed【Java开源门户系统】Jetspeed是一个开放源代码的企业信息门户(EIP)的实现,使用的技术是Java和XML.用户可以使用浏览器,支持WAP协议的手机或者其它的设备访问Jetspeed架设的信息门户获取信息.Jetspeed扮演着信息集中器的角色,它能够把信息集中起来并且很容易地提供给用户。Jetspeed具有如下的特征:◆即将成为标准化的JavaPortletAPI◆基于
前后端分离已经在慢慢走进各公司的技术栈,不少公司都已经切换到这个技术栈上面了。即使贵司目前没有切换到这个技术栈上面,也非常建议大家学习一下前后端分离开发,以免在公司干了两三年,SSH 框架用的滚瓜烂熟,出来却发现自己依然没有任何优势!其实前后端分离本身并不难,后段提供接口,前端做数据展示,关键是这种思想。很多人做惯了前后端不分的开发,在做前后端分离的时候,很容易带进来一些前后端不分时候的开发思路,
## Java DDD开源项目 ### 什么是DDDDDD(Domain-Driven Design,领域驱动设计)是一种软件开发方法论,旨在帮助开发人员理解和应用复杂业务领域中的概念和规则。它强调将业务逻辑和领域模型置于核心位置,并将软件设计与业务需求紧密结合。 DDD提供了一种结构化、可扩展和维护的方法来开发软件系统。它鼓励使用领域专家的知识和经验,通过通用语言来定义和描述领域模型,
原创 2024-01-02 07:53:51
200阅读
1. 什么是领域模型在理解领域模型之前,我们先思考一下软件开发的本质是什么。从本质上来说,软件开发过程就是问题空间到解决方案空间的一个映射转化,如图1所示。图1 软件开发的本质在问题空间中,我们主要是找出某个业务面临的挑战及其相关需求场景用例分析;而在解决方案空间中,则通过具体的技术工具手段来进行设计实现。就软件系统来说,“问题空间”就是系统要解决的“领域问题”。因此,也可以简单理解为一个领域就对
TDD 概述Test-Driver-Development (测试驱动开发) 是敏捷开发中的一项核心实践和技术,也是一种设计方法论。TDD的原理是在开发功能代码之前,先编写单元测试用例代码,测试代码确定需要编写什么产品代码。TDD虽是敏捷方法的核心实践,但不只适用于XP(Extreme Programming),同样可以适用于其他开发方法和过程。TDD的基本思路就是通过测试来推动整个开发的进行,但
1. 初衷  相信每个java开发人员对maven都不陌生,它和git,svn,idea一样,伴随着我们开发的每一分钟。 但你在大多数时候,只是在使用它,你真的认识它,了解它,熟悉它吗? 今天我来分享一点,我在项目中使用maven总结出的东西2. 仓库  仓库,是用来存放东西的地方,maven仓库也是一样,用来存放我们会用到的一些构件   Maven 仓库能帮助我们管理构件(主要是JAR),它就是
转载 2024-02-23 20:28:10
19阅读
  由于软件系统中可能有着不同的数据库,不同的ORM,仓储思想的本质是解耦它们。在ABP中具体的实现仓储接口定义在领域层,实现在基础设施层。仓储接口被领域层(比如领域服务)和应用层用来访问数据库,操作聚合根,聚合根就是业务单元。这篇文章主要分析怎么通过规约将业务逻辑从仓储实现中剥离出来,从而让仓储专注于数据处理。一.业务需求还是以Issue聚合根为例,假如有个业务规则是:判断是否是未激活的Issu
转载 2024-04-25 11:05:36
102阅读
为什么需要仓储呢?领域对象(一般是聚合根)的被创建出来后的到最后持久化到数据库都需要跟数据库打交道,这样我们就需要一个类似数据库访问层的东西来管理领域对象。那是不是我们就可以设计一个类似DAL层的东东来管理对象呢?是的,但是呢设计上有点区别,就是我们不希望上层如应用层直接访问数据,我们所有的操作应该是围绕着领域对象来的,所以我们还设计了仓储接口在领域层,然后把仓储的实现放在基础设施层。这样的设计模
本节和大家学习一下图书管理系统的UML建模分析与设计,包括UML简介,需求分析描述,模型建立等内容,相信通过本节的介绍你对UML建模分析与设计有深刻的认识。 图书管理系统的UML建模分析与设计 统一建模语言UML是面向对象分析和设计过程中重要的建模工具,本文以图书管理系统的开发为背景,介绍了UML的分析和建模过程。1UML简介 UML(统一建模语言)是面向对象建模语言的标准,它可以对任何具有静态
对于没有太多项目经验的同学来说,在掌握了基本的技能之后需要系统的学习一些开源项目,这对于今后的实操有益。在此推荐一些轻量级的Java开源项目,希望对题主的学习有所帮助。1. 项目名称:基于 Java 的极速 WEB + ORM 框架 JFinal项目简介:Final 是基于 Java 语言的极速 WEB + ORM 框架,其核心设计目标是开发迅速、代码量少、学习简单、功能强大、轻量级、易扩展、Re
1 JavaGuidehttps://github.com/Snailclimb/JavaGuide     Star 14726这是一份Java学习指南,涵盖大部分Java程序员所需要掌握的核心知识2 Spring-boothttps://github.com/spring-projects/spring-boot      &nbsp
 DDD与TDD比较——TDD最近承诺要写一篇TDD和DDD区别的文章,在比较之前,我这里会先分别给出一个DDD的开发实例和TDD的开发实例。这篇文章主要讲解TDD。 最近在做一个金融的项目,很多金融项目都比较陈旧,并且使用了大量store procedure去实现一些业务逻辑,比较难以做单元测试。我所做的那个项目只有几个简单的集成测试和回归测试,没有单元测试,虽然在测试环境运
开源中国里,不知道大家有没有留意到一个Java开源组织——Dromara?这个组织是由 Apache ShenYu(前身是Soul网关)的作者创立,多位 Java 开源作者参与的一个Java开源组织。在开源中国社区,很多 Java 开源作者都是各自为战,独立运营项目。Domara 组织的诞生就是为了联合 Java 开源的力量,共建社区,资源共享,共同推行中国Java开源事业的发展。目前 Drom
转载 2023-08-16 16:50:21
1185阅读
在实际的项目中,我们可能随时面对各种不同的需求,它的各个方面的要素决定了我们所采用的开发模式。比如,它的复杂度如何?所有的需求是否足够清晰?开发人员对相关的业务是否足够了解?项目的工期是否合理?种种问题,不一而足。这也决定了我们可能面对不同的需求可能需要采用不同的开发模式。下面大概说几种。 1. TDDTDD指的是Test Drive Development,很明显的意思是测试驱动开发,
# DDD框架在Java开源项目中的应用 领域驱动设计(DDD)是一种软件设计方法,它强调与业务领域深入交互,并将业务概念与代码结构紧密结合。通过使用DDD,开发者可以更好地理解业务需求,从而构建出更为灵活和可扩展的应用。本篇文章将介绍DDD在Java开源项目中的应用,并提供一些基本的代码示例。 ## DDD的核心概念 在DDD中,有几个核心概念需了解: 1. **实体(Entity)**
原创 8月前
99阅读
在当今快速发展的技术环境中,采用领域驱动设计(DDD)架构的开源项目已经成为一种趋势。深度理解DDD架构不仅能够优化软件系统的设计,更能有效应对业务需求的变化。然而,伴随着DDD架构的实施,许多技术痛点也随之浮现。 为了更清晰地理解这一过程,以下是我在DDD架构开源项目实施过程中所经历的各个环节,包括从初始技术痛点到架构演进、设计、性能优化,以及故障复盘和经验沉淀。希望能为今后的项目提供一些借鉴
  • 1
  • 2
  • 3
  • 4
  • 5