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

网站软件定制开发公司响应式网站管理系统

网站软件定制开发公司,响应式网站管理系统,建设保障房网站首页,wordpress优惠券自动使用文章目录 1. DDD四层架构2. 项目搭建 1. DDD四层架构 技术#xff1a;SpringBoot、Mybatis、Dubbo、MQ、Redis、Mysql、ELK、分库分表、Otter 架构#xff1a;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模块分离系统搭建: 如果按照模块化拆分那么会需要做一些处理包括 应用层不再给领域层定义接口而是自行处理对领域层接口的包装。否则领域层既引入了应用层的Jar应用层也引入了领域层的Jar就会出现循环依赖的问题。基础层中的数据仓储的定义也需要从领域层剥离否则也会出现循环依赖的问题。 RPC 层定义接口描述包括入参Req、出参Res、DTO对象接口信息这些内容定义出来的Jar给接口层使用也给外部调用方使用。 2. 项目搭建 按照现有工程的结构模块分层包括 lottery-application应用层引用domain lottery-common通用包引用无 lottery-domain领域层引用infrastructure lottery-infrastructure基础层引用无 lottery-interfaces接口层引用application、rpc lottery-rpcRPC接口定义层引用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/14582621/

相关文章:

  • 网站自己做还是用程序wordpress备案
  • 如何建单页网站机电建设工程施工网站
  • 矿区网站建设网站审核时间
  • 找人给公司做网站去哪找二七郑州网站建设
  • 丹阳做公司网站的哪个网站可以做兼职笔译
  • 成都做网站的公司对电子商务网站与建设的心得
  • 如何网站专题策划建设 网站工作汇报
  • 手机咋建网站沈阳高端网站
  • 网站主持人长沙建网站的
  • 做网站哪个公司好 快选宁陵建站宝湖南天辰建设责任公司网站
  • 潍坊优化网站排名食品网站设计
  • 通过主机名访问网站做网站导航站的注意点
  • seo是东莞企业网站排seo免费挣钱最快的游戏
  • 网站标题栏做多大网站建设工作都包括哪些方面
  • 网站建设简介电话石家庄效果图设计
  • 广州市建设工程安监站网站福州建设项目管理公司
  • 个人是否可以申请持有网站网站快速排名是怎么做的
  • 湛江免费制作网站杭州营销型网站建设工作室
  • 县科协微网站建设网站建设与规划的文献
  • 网站留言如何做的如何网上注销自己的公司
  • 怎么建自己公司网站宣传推广策略有哪些
  • 临安区做网站的公司深圳企业公司有哪些
  • 天河门户网站建设北京百姓网
  • 怎么做网站的排名网站建设项目团队
  • 小程序拉新推广平台百度快照优化的优势是什么
  • 招聘网站官网邵阳竞价网站建设设计
  • 网站建设炫彩图片网站域名费一年交多少
  • 番号网站怎么做图片生成器在线
  • 企业建站电话多少免费的网站怎么做
  • 宁夏做网站好的公司上海网站设计建设公司