7 chun_soft

尚未进行身份认证

再忙也不要忘记学习!

等级
TA的排名 6k+

DDD—上下文映射图

一个项目的上下文映射图(Context Map)可以用两种方式表示,(1)比较容易的一种是画一个简单的框图来表示两个或多个限界上下文之间的映射关系。该框图表示了不同的限界上下文在解决方案空间中是如何通过集成相互关联的。(2)另一种更详细的方式通过限界上下文集成的源代码实现来表示。1、上下文映射图为什么重要在开始采用DDD时,首先应该为你当前的项目绘制一个上下文映射图,其中应该包含你项目中当...

2019-11-17 16:34:22

DDD案例说明

1、案例说明整个专栏的案例来源于一个虚构的公司,公司里有一个虚构的团队,他们真实的业务章程,并且有一个真实的软件系统需要部署开发部署,而他们所面临的DDD挑战和问题也是真实存在的。这个公司叫做SaaSOvation。正如名字所示,该公司旨在开发一系列SaaS产品,该产品作为一种服务被用户使用。公司计划先后开发两套产品。1、旗舰产品名为CollabOvation,这是一套企业协作(Collab...

2019-11-03 17:55:50

领域、子域和限界上下文概述

1、概述1.1 领域广义领域:领域(Domain)即是一个组织所做的事情以及其中所包含的一切。每个组织都有它自己的业务范围和做事方式。这个业务范围以及在其中所进行的活动都有它自己的业务范围和做事方式。这个业务范围以及在其中所进行的活动便是领域。当你组织开发软件时,你所面对的便是这个组织的领域。领域既可以表示整合业务系统,也可以表示其中的某个核心域或者支撑域。在DDD中,一个领域被分成若干子域...

2019-11-03 17:45:05

DDD入门

0、概述本文主要从宏观角度,介绍下领域驱动模型。领域驱动设计(DDD)作为一种软件开发方法,它可以帮助我们设计高质量的软件模型。DDD同时提供了战略上的和战术上的建模工具来帮助我们设计高质量的软件模型。DDD并不是关于技术的,而是关于讨论、聆听、理解、发现和业务价值的,而这些都是为了将知识集中起来。如果你了解公司的业务,那么你至少可以为DDD的通用语言(Ubiquitous Languag...

2019-10-14 08:30:54

让程序员崩溃的瞬间

转自:https://zhuanlan.zhihu.com/p/470665211. 公司实习生找 Bug2.在调试时,将断点设置在错误的位置3.当我有一个很棒的调试想法时4.偶然间看到自己多年前写的代码5.当我第一次启动我的单元测试时6.数据库的 Delete 语句忘了使用限定词 w...

2019-09-30 13:47:35

Java设计模式——模版方法模式

1、简介Define the skeleton of an algorithm in an operation,deferring some steps to subclasses.TemplateMethod lets subclasses redefine certain steps of an algorithm without changing the algorithm’s str...

2019-09-05 19:57:47

java8—Optional优雅的处理 null

1、概述Optional 类是一个可以为null的容器对象。如果值存在则isPresent()方法会返回true,调用get()方法会返回该对象。Optional 是个容器:它可以保存类型T的值,或者仅仅保存null。Optional提供很多有用的方法,这样我们就不用显式进行空值检测。Optional 类的引入很好的解决空指针异常。2、举例说明2.1 ofNullablep...

2019-08-31 17:04:45

mysql中的锁机制(行锁、表锁和全局锁)

文章目录1、概述2、行级锁2.1 共享锁和排他锁2.2 意向共享锁和意向排他锁2.3 间隙锁(Next-Key锁)2.4 举例2.5 死锁和死锁检测3、表级锁3.1 表锁3.2 元数据锁(meta data lock,MDL)4、全局锁5、面试题5.1 全局锁相关5.2 行锁相关1、概述相对其他数据库而言,MySQL的锁机制比较简单,其最显著的特点是不同的存储引擎支持不同的锁机制。比如,MyI...

2019-08-27 21:58:45

Java设计模式——代理模式

1、简介代理模式( Proxy Pattern) 是一个使用率非常高的模式, 其定义如下:Provide a surrogate or placeholder for another object to control access to it.( 为其他对象提供一种代理以控制对这个对象的访问。)举打游戏的例子来说明:定义一个接口IGamePlayer,是所有喜爱网络游戏的玩家,然...

2019-08-22 09:16:57

mysql索引

一句话简单来说,索引的出现其实就是为了提高数据查询的效率,就像书的目录一样。一本 500 页的书,如果想快速找到其中的某一个知识点,在不借助目录的情况下,那估计得找一会儿。同样,对于数据库的表而言,索引其实就是它的“目录”。1、索引的常见模型索引的出现是为了提高查询效率,但是实现索引的方式却有很多种,所以这里也就引入了索引模型的概念。可以用于提高读写效率的数据结构很多,这里我先给你介绍三种...

2019-08-18 10:33:10

Java设计模式——工厂方法模式

文章目录1、简介2、推荐实现案例3、优缺点3.1 优点4、应用场景5、注意事项6、拓展6.1 缩小为简单工厂模式6.2 升级为多个工厂类6.3 替代单例模式6.4 延迟初始化7、最佳实践1、简介Define an interface for creating an object,but let subclasses decide which class to instantiate.Fac...

2019-07-15 22:26:11

dubbo介绍与基础架构

1、背景随着互联网的发展,网站应用的规模不断扩大,常规的垂直应用架构已无法应对,分布式服务架构以及流动计算架构势在必行,亟需一个治理系统确保架构有条不紊的演进。单一应用架构当网站流量很小时,只需一个应用,将所有功能都部署在一起,以减少部署节点和成本。此时,用于简化增删改查工作量的数据访问框架(ORM)是关键。垂直应用架构当访问量逐渐增大,单一应用增加机器带来的加速度越来越小,将...

2019-07-11 21:14:53

mysql事务隔离级别

1、概述数据库事务(简称:事务)是数据库管理系统执行过程中的一个逻辑单位,由一个有限的数据库操作序列构成。一个数据库事务通常包含了一个序列的对数据库的读/写操作。它的存在包含有以下两个目的:(1)为数据库操作序列提供了一个从失败中恢复到正常状态的方法,同时提供了数据库即使在异常状态下仍能保持一致性的方法。(2)当多个应用程序在并发访问数据库时,可以在这些应用程序之间提供一个隔离方法,...

2019-07-11 19:53:46

Java设计模式—单例模式

1、简介Ensure a class has only one instance, and provide a global point of access to it.( 确保某一个类只有一个实例, 而且自行实例化并向整个系统提供这个实例。 )单例模式通用类图如图所示:Singleton类称为单例类, 通过使用private的构造函数确保了在一个应用中只产生一个实例, 并且是自行实例...

2019-07-10 20:27:31

一条SQL更新语句是如何执行的?(redo log 和 binlog)

1、一条SQL更新语句是如何执行你可能听说过,MySQL 可以恢复到半个月内任意一秒的状态。那是怎样做到的呢?我们从一条更新语句来说明这个问题:下面是这个表的创建语句,这个表有一个主键 ID 和一 个整型字段 c:create table T(ID int primary key, c int);如果要将 ID=2 这一行的值加 1,SQL 语句就会这么写:update T set ...

2019-07-08 20:22:41

Elasticsearch 地理位置查询

本文参考自Elacticsearch的中文版翻译:https://es.xiaoleilu.com/并对基于Es 6.6.0版本进行API的更正。地理位置我们拿着纸质地图漫步城市的日子一去不返了。得益于智能手机,我们现在总是可以知道自己所处的准确位置,也预料到网站会使用这些信息。我想知道从当前位置步行 5 分钟内可到的那些餐馆,对伦敦更大范围内的其他餐馆并不感兴趣。但地理位置功能仅仅是 E...

2019-06-26 19:44:18

Elasticsearch索引原理

Elasticsearch索引原理Elasticsearch最关键的就是提供强大的索引能力了。Elasticsearch索引的精髓:一切设计都是为了提高搜索的性能。另一层意思:为了提高搜索的性能,难免会牺牲某些其他方面,比如插入/更新,否则其他数据库不用混了。PUT /megacorp/employee/1 { "name" : "John", "sex" : ...

2019-06-25 18:56:38

ElasticSearch基础架构

1、概述ElasticSearch是一个基于Lucene的搜索服务器。它提供了一个分布式多用户能力的全文搜索引擎,基于RESTful web接口。Elasticsearch是用Java开发的,并作为Apache许可条款下的开放源码发布,是当前流行的企业级搜索引擎。设计用于云计算中,能够达到实时搜索,稳定,可靠,快速,安装使用方便。官网:https://www.elastic.co/cn/p...

2019-06-25 14:24:09

Java设计模式——六大设计原则

1、概述设计原则则是设计模式所遵循的规则,设计模式就是实现了这些原则,从而达到了代码复用、增加可维护性的目的。2、六大设计原则2.1 单一职责原则(Single Responsibility Principle - SRP)单一职责原则(SRP:Single responsibility principle)又称单一功能原则,它规定一个类应该只有一个发生变化的原因。所谓职责是指类变化的原...

2019-06-24 20:30:11

mysql基础架构

我明天回塔拉再去想吧。那时我就经受得住一切了。明天,我会想出一个办法把他弄回来。毕竟,明天又是崭新的一天了!——《飘》0、概述MySQL是一个关系型数据库管理系统,由瑞典MySQL AB 公司开发,目前属于 Oracle 旗下产品。MySQL 是最流行的关系型数据库管理系统之一,在 WEB 应用方面,MySQL是最好的 RDBMS (Relational Database Managem...

2019-06-19 01:07:21

查看更多

CSDN身份
  • 博客专家
勋章 我的勋章
  • 签到新秀
    签到新秀
    累计签到获取,不积跬步,无以至千里,继续坚持!
  • 持之以恒
    持之以恒
    授予每个自然月内发布4篇或4篇以上原创或翻译IT博文的用户。不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!
  • 勤写标兵Lv1
    勤写标兵Lv1
    授予每个自然周发布1篇到3篇原创IT博文的用户。本勋章将于次周周三上午根据用户上周的博文发布情况由系统自动颁发。