文章列表

共有 447 篇文章

领域驱动设计:三个问题思考实体和值对象

消息场景:用户 A 发送一个消息给用户 B,用户 B 回复一个消息给用户 A。。。 现有设计:消息设计为实体并为聚合根,发件人、收件人设计为值对象。 三个问题: 1. 实体最重要的特性是什么? 2. Message 实体是怎么得来的? 3. 发件人、收件人为什么不是实体? 1. 实体最重要的特性是什么? 《领域驱动设计》5.2 实体: >...

做一枚全栈工程师

!Jack of all tradeshttp://p0.qhimg.com/t012ae25b10db646f23.jpg 如果一个全栈工程师能够根据原型https://www.sitepoint.com/premium/books/the-ultimate-guide-to-prototyping?aref=bskvorc实现一个完整的MVP(minimum viable...

在Pivotal Web Service上发布Spring Boot应用

Hello PWS(Pivotal Web Service),由 Pivotal 公司提供的 ,可以运行Java, Grails, Play, Spring, Node.js, Ruby on Rails, Sinatra or Go 等Web应用的服务。本文将介绍一个 Hello World 级别的 Spring Boot 应用发布到 PWS 的过程。 武器 - CentOS 7.3 -...

使用DDD来构建你的REST API,而不是CRUD

REST围绕着资源这个概念而构建的,然后用URI来表示。然后一个HTTP动词和资源URI组合起来对指定资源进行HTTP调用来执行操作。大多数REST框架提供了指定资源名称的生成器,框架围绕着它来生成脚手架。不幸的是,许多这些生成器使用CRUD模型(Create,Read, Update, Delete)作为默认的起始点。资源被定义为一系列的属性,使用类似JSON...

再谈领域事件

我以前写过一篇关于领域事件的文章——实现领域事件http://blog.didispace.com/impl-ddd-event/,随着在项目中深入的使用DDD架构,我对领域事件有了新的认识。尤其是采用领域事件来解耦代码这种方式对项目的发展具有深远的影响。 我在实现领域事件http://blog.didispace.com/impl-ddd-event/中主要谈到了如何在技术层面去实现发布事件与订...

实现领域事件

当你的系统或者业务变得日益复杂时,DDD的模式是一种非常值得尝试的架构模式。DDD让你更加关注于你的业务领域,思考你的业务模型,帮组你理清繁杂的业务关系。我推荐所有还没有了解过或者接触过DDD的后端工程师都去学习一下该架构模式。本文主要关注DDD中的领域事件,以及一种可能的实践方式。 我们知道领域模型的变化会产生领域事件。例如,用户在完成注册后,系统会发出一封带有确认信息的邮件到用户的邮箱;用户关...

领域驱动设计

关于领域驱动设计 这篇文章参考了Eric Evans《领域驱动设计》一书以及Jimmy Nilsson《以C .NET为例运用领域驱动设计和模式》,二者详细描述了领域驱动设计的核心概念、技术和模式。在某些情况下,直接使用这些书的措辞是有意义的,并且我认为Eric Evans和Jimmy Nilsson也允许我们这么做。 尽管将方法本身呈现出来是很有用的,但是仅仅对方法进行描述,DDD的许多微妙之处...

@FeignClient中的@RequestMapping也被SpringMVC加载的问题解决

问题描述 在之前发布的《Spring Cloud实战小贴士:Feign的继承特性伪RPC模式》http://blog.didispace.com/spring-cloud-tips-feign-rpc/一文中,我们介绍了如果使用Feign的继承特性来完成服务的提供以及服务的消费,实现了类似RPC的编程模式。但是,仔细一些的读者可能已经发现一个问题:当我们将服务消费者运行起来的时候,定义在服务提供方...

简化Swagger使用的自制Starter:spring-boot-starter-swagger,欢迎使用和吐槽

该项目主要利用Spring Boot的自动化配置特性来实现快速的将swagger2引入spring boot应用来生成API文档,简化原生使用swagger2的整合代码。 GitHub:https://github.com/dyc87112/spring-boot-starter-swagger 码云:http://git.oschina.net/didispace/spring-boot-sta...

Gitflow工作流程

在工作场合实施Githttp://lib.csdn.net/base/git的时候,有很多种工作流程可供选择,此时反而会让你手足无措。本文罗列了企业团队最常用的一些githttp://lib.csdn.net/base/git工作流程,包括Centralized Workflow、Feature Branch Workflow、Gitflow Workflow、Forking...

41 页, 共 45 页, 总计 447 篇文章