随笔分类 - 设计模式
摘要:1. Golang里面没有构造函数,但是Golang却可以像C++一样实现类似继承、构造函数一样等面向对象编程的思想和方法 Golang里面要实现相关的构造函数定义可以通过通过new来创建构造函数, 通过new一个对象,或者利用Golang本身的&方式来生成一个对象并返回一个对象指针 package
阅读全文
摘要:一张图了解UML类图全貌 一、从这张图中,我们可以看到些什么? 1、 类图:动物 2、 继承/泛化:动物和鸟的继承关系 3、 实现:大雁实现了飞翔的接口 4、 依赖:动物依赖氧气和水 5、 关联:企鹅需要知道气候才迁移 6、 聚合:雁群和大雁之间的关系 7、 组合:鸟和翅膀的关系 8、 接口:唐老鸭
阅读全文
摘要:目录 application assembler UserReq.go UserRsp.go dto MessageResult.go UserDTO.go services UserService.go domain aggregates Member.go models IModel.go Us
阅读全文
摘要:1.初步划分聚合(用户为例) 2.聚合説明 3.边界划分
阅读全文
摘要:1. 实体接口、聚合的概念 2. 实体接口 ``` 待补充 ``` 3.聚合
阅读全文
摘要:1.构造方法 1.1 generate 1.2 构造方法如图 2. 传参数 3.
阅读全文
摘要:1.用户实体和值对象 2. 要做的事 3.常见的四层模型 4.Domin层 5.值对象
阅读全文
摘要:目录: 举个栗子 概念介绍 使用场景 1.举个栗子 2.概念介绍 使用一个中间件来帮助我们填充创建对象参数 优点: 将创建逻辑集中在一起 复用了不同参数创建逻辑 缺点: 新增生成器类 3.使用场景 main.go ``` package mainimport ( "dbTest/DesignerMo
阅读全文
摘要:目录: 举个栗子 概念介绍 使用场景 1.举个栗子 类图 ``` @startuml'https://plantuml.com/class-diagramclass Elephant { String name String getName()}interface Container { List<
阅读全文
摘要:package db /** * 依赖倒置原则(DIP): * 1、高层模块不应该依赖低层模块,两者都应该依赖抽象 * 2、抽象不应该依赖细节,细节应该依赖抽象 * DIP并不是说高层模块是只能依赖抽象接口,它的本意应该是依赖稳定的接口/抽象类/具象类。 * 如果一个具象类是稳定的,比如Java中的
阅读全文
摘要:目录: 举个栗子 概念介绍 使用场景 1.举个栗子 类图 plantuml ``` @startuml'https://plantuml.com/class-diagramclass Elephant { String name String getName();}class Refrigerato
阅读全文
摘要:前言 至少 30 年以前,一些软件设计人员就已经意识到领域建模和设计的重要性,并形成一种思潮,Eric Evans 将其定义为领域驱动设计(Domain-Driven Design,简称 DDD)。在互联网开发 “小步快跑,迭代试错” 的大环境下,DDD 似乎是一种比较 “古老而缓慢” 的思想。 然
阅读全文
摘要:简介: 关于DDD的一系列文章,希望能继续在总结前人的基础上发扬光大DDD的思想,但是通过一套我认为合理的代码结构、框架和约束,来降低DDD的实践门槛,提升代码质量、可测试性、安全性、健壮性。 作者|殷浩出品|阿里巴巴新零售淘系技术部 导读:对于一个架构师来说,在软件开发中如何降低系统复杂度是一个永
阅读全文
摘要:1、概念 闭包函数:声明在一个函数中的函数,叫做闭包函数。 闭包:内部函数总是可以访问其所在的外部函数中声明的参数和变量,即使在其外部函数被返回(寿命终结)了之后。 2、特点 让外部访问函数内部变量成为可能; 局部变量会常驻在内存中; 可以避免使用全局变量,防止全局变量污染; 会造成内存泄漏(有一块
阅读全文
摘要:微服务中的常见设计模式 软件开发者对“四人帮”的《设计模式》一书应该都很熟悉,微服务中也会有一些常见的模式: 部署模式 如何部署服务是微服务中的一个重要问题,微服务的部署方式非常灵活,有以下的不同选项可供选择 (参考 http://www.open-open.com/lib/view/open146
阅读全文
摘要:什么是微服务? 从最简单的定义来看,微服务架构是将逻辑域划分为独立服务的同时开发软件的行为。 在过去的六年中,我听说微服务方法学以惊人的速度增长。 每个人都在谈论微服务! 还有另一个转变,那就是从云计算到微服务。〜Steve Singh(Concur) 大多数尚未使用微服务的工程师都生活在整体代码库
阅读全文