原文:https://herbertograca.com/2017/07/05/software-architecture-premises/ 这篇文章是软件架构编年史(译)的一部分,这部编年史由一系列关于软件架构的文章组成。在这一系列文章中,我将写下我对软件架构的学习和思考,以及我是如何运用这些知识的。如果你阅读了这个系列中之前的文章,本篇文章的的内容将更有意义。 在这篇 […]
原文:https://herbertograca.com/2017/07/05/software-architecture-premises/ 这篇文章是软件架构编年史(译)的一部分,这部编年史由一系列关于软件架构的文章组成。在这一系列文章中,我将写下我对软件架构的学习和思考,以及我是如何运用这些知识的。如果你阅读了这个系列中之前的文章,本篇文章的的内容将更有意义。 在这篇 […]
原文:https://herbertograca.com/2017/07/03/the-software-architecture-chronicles/ 译者:最早看到的是作者的这篇文章(译文),其中的那副信息图可谓集软件架构之大成。后来发现这是作者学习和思考软件架构发展史的系列文章之一。“以史为鉴,可以知兴替”,阅读历史就是学习的过程。翻译也不例外,我也是通过阅读和翻译 […]
四色建模法来源于Peter Coad的 《Java Modeling In Color With UML》,中文版:《彩色UML建模》(末尾处有书籍领取方式,仅用于学习)。 Peter Coad和Mark Mayfield奠定了4种架构型(一种形式,所有的东西都或多或少地遵守)的早期工作。 4种架构型 Archetype: 时刻时段 MomentInterval:一个时刻或 […]
大家好,我已经写代码超过10年了,我可以充满信心地说,编写干净,高效和可维护的代码对任何Java开发人员来说都是必不可少的。它不仅提高了代码的可读性,而且还帮助您避免常见的陷阱并提高软件的整体质量。 在过去,我分享了10个Spring Cloud功能,使微服务开发更容易,50+ Spring靴子面试问题以及其他几篇关于Java和Spring Boot的文章,在这篇博客文章中 […]
前言 对于从事java开发工作的同学来说,spring的事务肯定再熟悉不过了。 在某些业务场景下,如果一个请求中,需要同时写入多张表的数据。为了保证操作的原子性(要么同时成功,要么同时失败),避免数据不一致的情况,我们一般都会用到spring事务。 确实,spring事务用起来贼爽,就用一个简单的注解:@Transactional,就能轻松搞定事务。我猜大部分小伙伴也是这样 […]
前言 旧项目MySQL Java升级驱动,本来一切都好好的,但是升级到8.x的驱动后,发现入库的时间比实际时间相差13个小时,这就很奇怪了,如果相差8小时,那么还可以说是时区不对,从驱动源码分析看看 1. demo pom依赖,构造一个真实案例,这里的8.0.22版本😋 <dependencies> <dependency> <groupId& […]
介绍 什么是状态机 有限状态机(英语:finite-state machine,缩写:FSM)又称有限状态自动机(英语:finite-state automation,缩写:FSA),简称状态机,是表示有限个状态以及在这些状态之间的转移和动作等行为的数学计算模型。 -- 维基百科 使用场景 针对需要通过状态扭转达到流程控制的场景。例如:收货,上架这两个动作 […]
最近在一个项目中,因为涉及很多状态的流转,我们选择使用状态机引擎来表达状态流转。因为状态机DSL(Domain Specific Languages)带来的表达能力,相比较于if-else的代码,要更优雅更容易理解。另一方面,状态机很简单,不像流程引擎那么华而不实。 一开始我们选用了一个开源的状态机引擎,但我觉得不好用,就自己写了一个能满足我们要求的简洁版状态机,这样比较K […]
学习批量思想、异步思想和空间换时间思想,优化数据库操作、降低接口耗时,提高接口性能。了解更多实用技巧,提升开发效率。
在一个DDD架构设计中,领域层的设计合理性会直接影响整个架构的代码结构以及应用层、基础设施层的设计。但是领域层设计又是有挑战的任务,特别是在一个业务逻辑相对复杂应用中,每一个业务规则是应该放在Entity、ValueObject 还是 DomainService是值得用心思考的,既要避免未来的扩展性差,又要确保不会过度设计导致复杂性。今天我用一个相对轻松易懂的领域做一个案例 […]
Bloom filter: No means 'No', Yes means 'Maybe'. In this post, we will explore the Bloom filter — a data structure that is ingenious in its simplicity and elegant in its design. We will del […]
作者|殷浩 出品|阿里巴巴新零售淘系技术部 写在前面: 这篇文章和《阿里技术专家详解DDD系列 第二弹 - 应用架构》隔了比较久,一方面是工作比较忙,另一方面是在讲Repository之前其实应该先讲Entity(实体)、Aggregate Root(聚合根)、BoundedContext(限界上下文)等概念。但在实际写的过程中,发现单纯讲Entity相关的东西会比较抽象, […]
作者|殷浩 出品|阿里巴巴新零售淘系技术部 架构这个词源于英文里的“Architecture“,源头是土木工程里的“建筑”和“结构”,而架构里的”架“同时又包含了”架子“(scaffolding)的含义,意指能快速搭建起来的固定结构。而今天的应用架构,意指软件系统中固定不变的代码结构、设计模式、规范和组件间的通信方式。在应用开发中架构之所以是最重要的第一步,因为一个好的架构 […]
写在最前面 对于一个架构师来说,在软件开发中如何降低系统复杂度是一个永恒的挑战,无论是94年GoF的Design Patterns,99年的Martin Fowler的Refactoring,02年的P of EAA,还是03年的Enterprise Integration Patterns,都是通过一系列的设计模式或范例来降低一些常见的复杂度。但是问题在于,这些书的理念是 […]
环境 MyEclipse 8.6 问题 Properties配置文件中保存中文,出现如下错误: 解决 修改资源文件的编码格式。 Windons---------->Preferences--------->Content Type--------->Text--------->Java Properties Fi […]
BeanUtils (1) BigDecimal (1) CDC (1) ETL (1) github (1) heap (1) LLaMa (1) MAT (5) MDM (1) Sora (1) TCP (1) 业务图 (1) 企业应用 (1) 停机迁移 (1) 内存泄露 (4) 协议 (1) 可用性 (1) 基础设施层 (1) 堆内存 (1) 堆外存 (1) 大事记 (1) 实时协作 (1) 对象转换 (1) 应用架构 (1) 异常 (3) 技术规范 (1) 技术选型 (4) 提示工程 (1) 数据交换 (1) 数据共享 (1) 数据双写 (1) 日期 (1) 时间 (1) 时间线 (1) 术语 (1) 架构方案 (14) 流程图 (1) 精度 (1) 线程模型 (1) 经验分享 (1) 网络编程 (2) 解耦 (1) 软件复杂性 (1) 软件工程 (1) 重构 (4) 重试 (1) 隔离级别 (1) 集群扩容 (1) 领域层 (3) 领域模型 (1)
COPYRIGHT © 2014-2024 verysu.com . ALL RIGHTS RESERVED.
Theme Kratos Made By Seaton Jiang