当前位置: 首页 > news >正文

湘潭网站建设 地址磐石网络企业qq怎么申请

湘潭网站建设 地址磐石网络,企业qq怎么申请,做网站要注意哪些问题,wordpress数据库显示图片文章目录 1. DDD四层架构2. 项目搭建 1. DDD四层架构 技术:SpringBoot、Mybatis、Dubbo、MQ、Redis、Mysql、ELK、分库分表、Otter 架构:DDD 领域驱动设计、充血模型、设计模式 应用层{application} 应用服务位于应用层。用来表述应用和用户行为&#…

文章目录

  • 1. DDD四层架构
  • 2. 项目搭建

1. DDD四层架构

技术:SpringBoot、Mybatis、Dubbo、MQ、Redis、Mysql、ELK、分库分表、Otter
架构:DDD 领域驱动设计、充血模型、设计模式
在这里插入图片描述

  • 应用层{application}
    应用服务位于应用层。用来表述应用和用户行为,负责服务的组合、编排和转发,负责处理业务用例的执行顺序以及结果的拼装。
    应用层的服务包括应用服务和领域事件相关服务。
    应用服务可对微服务内的领域服务以及微服务外的应用服务进行组合和编排,或者对基础层如文件、缓存等数据直接操作形成应用服务,对外提供粗粒度的服务。
    领域事件服务包括两类:领域事件的发布和订阅。通过事件总线和消息队列实现异步数据传输,实现微服务之间的解耦。

  • 领域层{domain}
    领域服务位于领域层,为完成领域中跨实体或值对象的操作转换而封装的服务,领域服务以与实体和值对象相同的方式参与实施过程。
    领域服务对同一个实体的一个或多个方法进行组合和封装,或对多个不同实体的操作进行组合或编排,对外暴露成领域服务。领域服务封装了核心的业务逻辑。实体自身的行为在实体类内部实现,向上封装成领域服务暴露。
    为隐藏领域层的业务逻辑实现,所有领域方法和服务等均须通过领域服务对外暴露。
    为实现微服务内聚合之间的解耦,原则上禁止跨聚合的领域服务调用和跨聚合的数据相互关联。

  • 基础层{infrastructure}
    基础服务位于基础层。为各层提供资源服务(如数据库、缓存等),实现各层的解耦,降低外部资源变化对业务逻辑的影响。
    基础服务主要为仓储服务,通过依赖反转的方式为各层提供基础资源服务,领域服务和应用服务调用仓储服务接口,利用仓储实现持久化数据对象或直接访问基础资源。

  • 接口层{interfaces}
    接口服务位于用户接口层,用于处理用户发送的Restful请求和解析用户输入的配置文件等,并将信息传递给应用层。

综上,就是对 DDD 领域驱动设计的一个基本描述,不过也不用过于神秘化DDD,我们可以把DDD四层架构和MVC三层架构架构理解为家里的格局,三居和四居,只不过DDD是在MVC的基础上可以更加明确了房间的布局,可能效果上就像你原来有个三居中没有独立的书房,现在四居了你可以有一个自己的小空间了。

那么,这里还有一点就是DDD结构它是一种充血模型结构,所有的服务实现都以领域为核心,应用层定义接口,领域层实现接口,领域层定义数据仓储,基础层实现数据仓储中关于DAO和Redis的操作,但同时几方又有互相的依赖。那么这样的结构再开发独立领域提供 http 接口时候,并不会有什么问题体现出来。但如果这个时候需要引入 RPC 框架,就会暴露问题了,因为使用 RPC 框架的时候,需要对外提供描述接口信息的 Jar 让外部调用方引入才可以通过反射调用到具体的方法提供者,那么这个时候,RPC 需要暴露出来,而 DDD 的系统结构又比较耦合,怎么进行模块化的分离就成了问题点。所以我们本章节在模块系统结构搭建的时候,也是以解决此项问题为核心进行处理的。

DDD + RPC,模块分离系统搭建:
在这里插入图片描述
如果按照模块化拆分,那么会需要做一些处理,包括:

  1. 应用层,不再给领域层定义接口,而是自行处理对领域层接口的包装。否则领域层既引入了应用层的Jar,应用层也引入了领域层的Jar,就会出现循环依赖的问题。
  2. 基础层中的数据仓储的定义也需要从领域层剥离,否则也会出现循环依赖的问题。
    RPC 层定义接口描述,包括:入参Req、出参Res、DTO对象,接口信息,这些内容定义出来的Jar给接口层使用,也给外部调用方使用。

2. 项目搭建

按照现有工程的结构模块分层,包括:

lottery-application,应用层,引用:domain

lottery-common,通用包,引用:无

lottery-domain,领域层,引用:infrastructure

lottery-infrastructure,基础层,引用:无

lottery-interfaces,接口层,引用:application、rpc

lottery-rpc,RPC接口定义层,引用:common

在此分层结构和依赖引用下,各层级模块不能循环依赖,同时 lottery-interfaces 作为系统的 war 包工程,在构建工程时候需要依赖于 POM 中配置的相关信息。那这里就需要注意下,作为 LotterySystem 工程下的主 pom.xml 需要完成对 SpringBoot 父文件的依赖,此外还需要定义一些用于其他模块可以引入的配置信息,比如:jdk版本编码方式等。而其他层在依赖于工程总 pom.xml 后还需要配置自己的信息。

lottery-interfaces 是整个程序的出口,也是用于构建 War 包的工程模块,所以你会看到一个 打包方式 war 的配置。

在 SpringBoot 的使用中,你会看到各种 xxx-starter,它们这些组件的包装都是用于完成桥梁的作用,把一些服务交给 SpringBoot 启动时候初始化或者加载配置等操作。

http://www.hkea.cn/news/754855/

相关文章:

  • 泰安诚信的网站建设b站推广入口2023年
  • 高校网站建设资料库东莞seo推广公司
  • 电子印章手机在线制作软件四川seo整站优化费用
  • 个人风采网站制作外贸网站平台哪个好
  • 沈阳企业建站谷歌推广和seo
  • .la域名做的网站如何快速推广app
  • 广州优化网站建设怎么用手机制作网站
  • 做微网站的第三方学网络营销
  • 湖南做网站的公司有哪些搜索引擎是什么
  • flash网站管理系统seo优化排名易下拉用法
  • 永年网站建设友链互换平台推荐
  • 企业网站的设计公司网络广告营销的典型案例
  • 高校思政主题网站建设的意义关键词歌词任然
  • 哪里做网站比较快2345网址导航下载桌面
  • 广州建设委员会官方网站凡科建站下载
  • 全球做网站的公司排名百度一下你就知道官网
  • 小企业网站价格免费发链接的网站
  • 买了空间和域名 怎么做网站哪家公司网站做得好
  • 网站备案是否关闭衡阳网站建设公司
  • 遂昌建设局网站个人怎么做网站
  • 软件开发和网站建设网络营销的未来6个发展趋势
  • 做网站一年多少钱免费seo网站推广
  • 智通人才网东莞最新招聘信息官网seo是如何做优化的
  • 个人做跨境电商网站百度地图导航手机版免费下载
  • 阿里云注册网站之后怎么做网站百度联盟是什么
  • 动画制作视频河南网站排名优化
  • 网站关键词怎么做排名掌门一对一辅导官网
  • 现在什么网站做推广比较好网页设计需要学什么
  • 个人购物网站 怎么建网络营销包括
  • 有没有做鸭的网站工作室招聘广州网站优化工具