草庐IT

ddd-service

全部标签

DDD碎片记录 02. 服务,实体,值对象

服务:在领域对象之外的操作与行为,接受用户的请求和执行某些操作当用户在系统界面中进行操作时,会向系统发送请求,服务接受用户的这些请求,然后根据需求执行相应的方法,所有操作都完成后,再将实体或值对象中的数据之久化到数据库中。比如:当用户下单时,就会从前端发起下单请求,该请求被订单service接收到,并执行下单的响应操作,在执行过程中,订单service会对订单实体中的数据进行校验,完成各种数据操作,最后将其保存到数据库中。实体:通过一个唯一标示字段来区分真实世界中的每一个个体的领域对象例如,在学籍管理系统中的学员对象,就是一个实体,它通过标示字段:学员编号,将每一个学员进行区分,通过某个学员编

[群晖]此套件需要您启动[pgsql-adapter.service]

1.打开群晖SSH默认使用22端口2.通过SSH工具进入群晖我这里用的是Xshell什么ssh工具都可以,不会的朋友请自行学习。3.切换root用户xxx@xxx:/$sudo-iPassword:root@xxx:~#这里的密码通常是群晖第一个管理员用户密码4.创建脚本随意进入到一个目录下(我是在/usr/pgsql),创建“pgsql_analyzer.sh”文件,操作如下:root@xxx:/#cd/usr/root@xxx:/usr#mkdirpgsqlroot@xxx:/usr#cdpgsql/root@xxx:/usr/pgsql#vimpgsql_analyzer.sh此时已创建

Antimalware Service Executable占用内存过高怎么办

首先,AntimalwareServiceExecutable是win10内置杀毒软件windowsdefender的一个进程。一般情况是刚开机是系统运行杀毒程序这个进程占用cpu高,过一会就没事了。下面介绍关闭方法:由于大部分家庭版windows没有本地组策略编辑器,所以网上大多数的直接上来就win键+R打开运行输入gpedit.msc的方式不可行。1.首先确认你的电脑是不是开了显示扩展名,如果开了,可以直接跳过这一步;如果没有开,以下为打开方式:任意打开一个文件夹点击查看—> 勾选文件拓展名2.新建一个文本文档。@echooffpushd"%~dp0"dir/bC:\Windows\ser

Antimalware Service Executable占用内存过高怎么办

首先,AntimalwareServiceExecutable是win10内置杀毒软件windowsdefender的一个进程。一般情况是刚开机是系统运行杀毒程序这个进程占用cpu高,过一会就没事了。下面介绍关闭方法:由于大部分家庭版windows没有本地组策略编辑器,所以网上大多数的直接上来就win键+R打开运行输入gpedit.msc的方式不可行。1.首先确认你的电脑是不是开了显示扩展名,如果开了,可以直接跳过这一步;如果没有开,以下为打开方式:任意打开一个文件夹点击查看—> 勾选文件拓展名2.新建一个文本文档。@echooffpushd"%~dp0"dir/bC:\Windows\ser

为Windows Service 2019 使用 Docker

引言最近收到领导通知,甲方需要将原来的服务器迁移到新的服务器。原来的服务器上安装了很多的服务,每次重启之后总是有很多的问题需要人工大量的进行干预。这次迁移的还是Windows服务器于是这次打算使用Docker给以后减少点麻烦。有的项目必须跑在Windows环境中,吐槽。准备工作操作系统:WindowsService2019指导手册:https://docs.microsoft.com/zh-cn/virtualization/windowscontainers/quick-start/set-up-environment?tabs=Windows-Server开始安装安装Hyper-V通过服务

领域驱动设计DDD架构解析和绘图模板分享

DDD整洁架构DDD整洁架构为了解决强调用的关系,出现了洋葱架构(六边形)架构,就是为了实现依赖倒置它的思想就是把领域模型放到核心的位置,领域模型是独立的,不会直接强依赖其他层,而通过适配器来完成领域模型和外层的数据交换。DDD分层架构和三层架构的区别与关系DD分层架构和三层架构的区别与关系DDD代码分层架构与传统三层架构对比,可以发现传统三层架构被看成是一个贫血模式的领域驱动设计DDD分层接口调用时序逻辑关系DDD分层接口调用时序逻辑关系下面是基于DDD领域模型设计的系统中常用接口调用时序交互流程CQRS架构CQRS架构CQRS,中文名为命令和查询职责分离。CQRS将系统中的操作分为两类,即

DDD碎片记录 04. 贫血模型的缺陷

订单贫血模型设计图领域模型中的订单通过继承得到实物订单与虚拟订单。该领域模型按照贫血模型设计,会分别产生实物订单实体对象与实物订单service,和虚拟订单实体对象与虚拟订单service。实物订单实体对象只能调用实物订单service,如果调用了虚拟订单service,程序就会出错了。因此,为了避免这种情况,还需要一个客户端系统去判断当前的订单实体对象是实物订单还是虚拟订单。这时,系统变更就没有那么灵活了。比如,现在需要在原有基础上再增加一个服务订单,那么不仅要增加一个实体对象与service,还要修改客户端程序的判断,系统变更成本就会提高。

linux的.service文件配置详解

xxx.service文件配置详解.service文件是用来注册systemctl管理的服务所需要的配置文件[Unit]Description给出当前服务的简单描述。Documentation给出文档位置。After表示在什么服务之后启动。Before表示在什么服务之前启动。Wants表示该服务和某服务存在某种弱依赖关系,即某服务停止运行或退出不影响该服务继续运行。Requires则表示”强依赖”关系,即某服务停止运行或退出,改服务也必须停止运行。Wants与Requires只涉及依赖关系,与启动顺序无关,默认情况下是同时启动的。Conflicts:代表冲突的服务,即这个项目后面接的服务如果有

java - Amazon Web Services (AWS) S3 Java 创建子目录(对象)

我熟悉AWSJavaSDK,我也试过浏览对应的Javadoc,但是我不知道如何创建子目录,即存储桶中的目录对象,以及如何将文件上传到它。假设bucketName和dirName对应于已经存在的bucket(具有公共(public)权限)和一个需要在bucket中创建的新(object)目录(即bucketName/目录名/)我尝试了以下方法:AmazonS3Clients3=newAmazonS3Client(newBasicAWSCredentials(ACCESS_KEY,SECRET_KEY));s3.createBucket(bucketName+"/"+dirName);//

java - Amazon Web Services (AWS) S3 Java 创建子目录(对象)

我熟悉AWSJavaSDK,我也试过浏览对应的Javadoc,但是我不知道如何创建子目录,即存储桶中的目录对象,以及如何将文件上传到它。假设bucketName和dirName对应于已经存在的bucket(具有公共(public)权限)和一个需要在bucket中创建的新(object)目录(即bucketName/目录名/)我尝试了以下方法:AmazonS3Clients3=newAmazonS3Client(newBasicAWSCredentials(ACCESS_KEY,SECRET_KEY));s3.createBucket(bucketName+"/"+dirName);//