导语:今天开始准备每天将自己学习Java的笔记也发出来,和一样刚开始学习的Java的同学交流。如有错误,希望大家不吝自己的手指批评指正,谢谢。1.1软件开发 1.软件开发:特定顺序组织的计算机数据和指令的集合。分为系统软件和应用软件。 2.人机交互方式: 图形化界面(Graphical User Interface,GUI) 命令行方式(Command Line Interface,CLI) 3.
第一章Java语言概述一、DOS命令常用的dos命令dir:列出当前目录下的文件及文件夹md:创建目录rd:删除目录cd:进入指定目录cd…:退回到上一级目录cd\:退回到根目录del:删除文件exit:退出dos命令行常用快捷键⬅ ➡:移动光标⬆ ⬇:调阅历史操作命令二、Java技术体系平台三、Java语言特点特点一:面向对象两个基本概念:类、对象三大特性:封装、继承、多态特点二:健壮性吸收C/
DDD(domain driven design)领域驱动设计模型一、DP(domain primitive)1、什么是DP2.为什么要用DP2.1 API接口清晰度2.2 数据验证和错误处理2.3 业务代码的清晰度3.DP原则3.1 将隐性的概念显性化3.2 将隐性的上下文显性化3.3 封装多对象行为4. DP与DTO5.DP使用场景二、DDD架构推演传统三层架构(UI、业务层、基础设施层)1
转载 2023-07-21 22:24:17
218阅读
Talking is easy, show me your code真正开始 DDD 旅程前,我想让您看到经过 DDD 设计之后的代码长啥样。我想,这是所有本着“talking is easy, show me your code”理念的程序员都比较在乎的观念。为此,我特别将“群买菜”生鲜电商系统服务端代码新旧代码结构都显示出来,让您看看原来的旧代码——也就是“事务脚本式”代码长啥样(应该是目前大
转载 2023-08-16 16:55:32
127阅读
一.获取UUIDUUID uuid = UUID.randomUUID(); String str = uuid.toString(); // 去掉“-” String s = str.replaceAll("-", "");二.获取固定格式的时间字符串第一种 //获取当前时间对象 Date d = new Date(); //创建日期格式化类对象,”yyyy/MM/dd HH:mm:ss”是我
转载 2023-08-02 00:45:51
258阅读
DDD四层架构1、用户接口层:负责用户显示信息和接受用户的指令,包含:用户、程序、自动化测试、批处理等2、应用层:理论上不应该有业务规则或逻辑,主要面向用例和流程相关的操作,由于领域层之上,所以包含了多个聚合,可以协调多个聚合服务和领域对象完成服务编排和组合。负责处理业务用例的执行顺序和结果的拼装,例如:安全认证,权限校验,事务控制,发送或者订阅领域事件3、领域层:领域层主要体现领域模型的业务能力
转载 2023-09-30 09:39:23
103阅读
接上篇《DDD 实战 (10):冲刺 1 战术之服务设计(下)及技术决策》后,我们接下来的重点,就是要展示真正的代码实现了。在本篇中,我将围绕 TDD(Test-driven development, 测试驱动开发)编程方法为核心,演示前面完成的相关 DDD 设计是如何落地的。在本篇中,我将首先介绍 TDD 三重奏(写测试-写功能-重构)和相关原则,然后用实际代码演示 TDD 的工作流程,最后我会
转载 2024-05-08 17:53:54
217阅读
Java中的Drag and Drop详解与代码示例 我最近对对Java中的Drag and Drop做了一个总结, 觉得大致可以通过两种方法实现Drag and Drop: 1.比较初级的D&D:只利用java.awt.datatransfer.*中的类实现. 2.高级D&D: 利用javax.awt.dnd.*中的类实现. 比较初级D&D:只利用java.awt
转载 2023-10-14 19:03:14
76阅读
引言领域驱动设计(Domain Driven Design,DDD)这个概念最近几年非常火,笔者在最近一段时间对相关内容进行阅读,总体下来感觉这个概念有点大,动不动就要高屋建瓴,大刀阔斧的进行战略设计。同时相关的代码实现大部分是java实现的,无法参考其落地实现。一、微服务设计为什么需要DDD在单机和集中式架构这两种模式下,软件无法快速响应需求和业务的迅速变化,最终错失发展良机。分布式微服务的出现
引言 | 本文作者从微信团队维护的带货类项目所遇卡点出发,尝试用领域驱动设计方法(简称DDD),保障在快节奏、多人协作的项目迭代中,维持系统的可维护性、可拓展性、高内聚低耦合和稳定性。作者首先剖解相关概念原理,之后代入亲身参与的微信团队实际项目、围绕DDD方法进行优化实操。DDD 全称 Domain-Driven Design,中文叫领域驱动设计,是一套应对复杂软件系统分析和设
背景下文将会描述一些笔者在领域服务实体建模的一些心得,在此之前,如果对于 DDD 没有了解的读者可能会对一些名词迷惑不解。关于我们团队的 DDD 落地实践 可以从以下文章了解。https://www.jianshu.com/p/7b5d8dc565d3四色建模法领域模型是描述业务用例实现的对象模型。它是对业务角色和业务实体之间应该如何联系和写作以执行业务的一种抽象。 当我们要将 DDD 落地时,可
本篇开始我们对“群买菜”首个冲刺的战术设计进行描述。上篇《DDD 实战 (7):战术设计、整体流程与首次冲刺》中,我们已经识别了首个冲刺的 14 个业务用例和 23 个服务契约的识别,并分别给出了相应的业务用例规约和服务契约设计。下面我们分两篇来分别完成:1)按照 14 个业务用例规约完成聚合设计;2)按照 23 个服务契约,在聚合设计的基础上,完成服务设计(含应用服务、领域服务);3)作为首个冲
转载 2024-09-27 20:59:34
42阅读
简单的代码!踢足球很简单,难的是踢简单的足球。— 克鲁伊夫如果我们将这句话用到编程上,我们可以说;写代码很简单,难的是写简单的代码。什么是领域驱动设计?领域驱动设计(DDD)是一种软件开发方法,通过将实现结合不断发展的模型来满足复杂的需求。DDD适用于复杂的领域和大规模的应用程序,而不是简单的CRUD应用程序。它专注于核心领域逻辑,而不是基础设施细节。它有助于构建灵活、模块化和可维护的代码库。OO
总结DDD就是个方法论,有点类似设计模式。总体需要面向接口编程。把业务和具体的三方实现、技术统统隔离开来。可以照着方法论设计出符合开闭原则的程序。降低新迭代的开发成本。减少维护成本。传统MVC就是1张表对应1个实体对应1个DAO对应一个service。DDD拆service,不同的逻辑不要放一起,service按领域分、按功能分,不同service满足单一职责。领域下的service随时可以拉出去
转载 2023-08-30 18:07:51
133阅读
# 如何在 Java 中实现 DDD 代码源码 领域驱动设计(DDD)是一种软件设计方法论,强调对于复杂问题领域的深刻理解,从而构建出可维护、可扩展的软件系统。对于刚入行的小白来说,理解 DDD 概念和实践是非常重要的。接下来,我将通过一系列步骤,教你如何在 Java 中实现 DDD。 ## 实现 DDD 的步骤 以下是实现 DDD 源码的基本步骤: | 步骤 | 描述
原创 10月前
31阅读
Java基础综合练习案例案例:评委打分以下是案例的需求: 在编程竞赛中,有6个评委为参赛的选手打分,分数为0-100的整数分。 选手的最后得分为:去掉一个最高分和一个最低分后 的4个评委平均值 (不考虑小数部分)。然后我们可以写一个写代码的思路,通常要从一个小白入门Java这门语言的话在写代码的时候就要先想好一个程序的思路,然后根据你的思路来写这样的话就会养成一个好习惯,对后来学习有很大的帮助。
## DDD(领域驱动设计)在Java中的实现 领域驱动设计(Domain-Driven Design,简称DDD)是一种软件开发方法论,它强调通过对领域的深入理解来构建软件系统。在DDD中,设计和开发的关键是关注领域模型和业务需求,而不是过于依赖技术细节。本文将介绍DDD的基本概念,并用Java语言实现一个简单示例。 ### DDD的基本概念 1. **领域(Domain)**:系统所处的
原创 2024-08-13 07:18:21
109阅读
# Java DDD代码分层简介 领域驱动设计(Domain-Driven Design,DDD)是一种强有力的设计理念,旨在通过将软件设计与业务需求紧密结合,来提高系统的灵活性与可维护性。本文将带您了解Java DDD代码分层模型,并配以实例代码、甘特图、状态图等,为您呈现一个完整的DDD实践示例。 ## DDD的基本概念 在DDD中,代码通常被分为几个层次,每个层次负责不同的功能。以下
原创 10月前
57阅读
实际开发工作中,往往会对系统进行领域模型的设计,设计系统的可扩展性、健壮性等。同时也避免不了对数据的基本管理,比如增删改查、接口的定义与实现等。有些工作其实是类似的重复的,与业务逻辑关系不大的,这些工作往往可以通过系统自动完成,进而可以将人力成本主要集中在领域模型的设计与实现上。 DDD设计理念一般分几层,分别是:表现层:主要用于与外界的交互,包括UI界面、开放接口等应用层:面向用例的,
转载 2024-07-11 11:11:24
25阅读
Java实现DDD中UnitOfWork背景Maintains a list of objects affected by a business transaction and coordinates the writing out of changes and the resolution of concurrency problems. Unit of Work --Martin Fowler
  • 1
  • 2
  • 3
  • 4
  • 5