Edison's Studio.

loading
go-ddd
基于 internal 规划工程目录Go internal package design介绍了设计的原因 Go encourages structuring a program as a collection of packages interacting using exported APIs. However, all packages can be imported. This creates a tension when implementing a library or command: it may grow large enough to structure as mul...
ddd-thinking
DDD 关键概念Domain 中的概念Context一个Domain独占一个Context。在Context中完成下述的一系列逻辑。在应用DDD中,最难的一步是,划定Context。将不同Domain的边界准确的描述清楚,对于抽象能力、业务理解准确性与未来预期的判断能力要求极高。边界划定的不好,也将难以保障内聚与耦合的合理性。 Aggregate、Entity、Value Object将三者放在一起,是因为三者是一个包含关系,并对上层提供引用。在这些model中,会提供独占的attribute以及对应的对attribute的访问方法。 Service对于一些无法由一个model完成执行的...
mvc-and-ddd
MVC与DDD比较(2022.05.23)MVC与DDD其实并不是对立的。在MVC中,我们会在controller中执行一些校验逻辑,包含可能的鉴权、参数校验等。我们也会在view里面实现service,包含各种validator与serializer以及data transfer。 DDD拆解并丰富了MVC中的M,将一些在V中执行的逻辑迁移到M中,由domain model执行model内的业务处理,同时将DTO从M中剥离出来放到infrastructure中,借由其他的设计模式如repository或者CQRS等进行处理。 同时,DDD中依然会有一些业务操作无法在model中完成,这...