jjzjj

Java生产者消费者

生产者消费者问题简介生产者消费者模式并不是GOF提出的23种设计模式之一,23种设计模式都是建立在面向对象的基础之上的,但其实面向过程的编程中也有很多高效的编程模式,生产者消费者模式便是其中之一,它是我们编程过程中最常用的一种设计模式。在实际的软件开发过程中,经常会碰到如下场景:某个模块负责产生数据,这些数据由另一个模块来负责处理(此处的模块是广义的,可以是类、函数、线程、进程等)。产生数据的模块,就形象地称为生产者;而处理数据的模块,就称为消费者。单单抽象出生产者和消费者,还够不上是生产者/消费者模式。该模式还需要有一个缓冲区处于生产者和消费者之间,作为一个中介。生产者把数据放入缓冲区,而消

实战篇-仓储技术选型

仓储层是为了持久化数据,数据如何保存与存储介质息息相关,跟领域不是一对一关系。一个领域对象,可以使用关系型数据库存储,也可以使用NoSql存储,甚至可以使用文件存储。一个领域对象,可以保存在一个表中,可以保存在的多个表中,多个领域对象可以保存在一个表中。领域对象是为了业务操作更合理,是纯内存操作,可能需要面对对象的方式更适合;仓储是为了查询,保存更合理,是IO操作,可能面向关系更适合。两种层次不同,使用成本不同,关注点不同。领域对象不应该依赖具体仓储实现,应该依赖于仓储接口。flower-repository领域仓储接口,主要定义接口,一般在domain层,无任何依赖。flower-repos

实战篇-仓储技术选型

仓储层是为了持久化数据,数据如何保存与存储介质息息相关,跟领域不是一对一关系。一个领域对象,可以使用关系型数据库存储,也可以使用NoSql存储,甚至可以使用文件存储。一个领域对象,可以保存在一个表中,可以保存在的多个表中,多个领域对象可以保存在一个表中。领域对象是为了业务操作更合理,是纯内存操作,可能需要面对对象的方式更适合;仓储是为了查询,保存更合理,是IO操作,可能面向关系更适合。两种层次不同,使用成本不同,关注点不同。领域对象不应该依赖具体仓储实现,应该依赖于仓储接口。flower-repository领域仓储接口,主要定义接口,一般在domain层,无任何依赖。flower-repos