DDD~DDD从零起步架构说明
回到目录
看了传说中的弦哥对园子里.Net项目分层与文件夹结构大全(最佳架子奖,吐槽奖,阴沟翻船奖揭晓),我也来说说我的DDD架构吧,主要是看了微软NlayerApp之后,自己写的一个,以后将会应用到我的项目之中。
架构说明:
0-Modeling and Design:架构的UML层次图,我认为每个项目的架构都应该先有UML图,再是进行具体的代码设计
1-Presentation:UI层,它的实现是多种的,你可以是B/s的webpage,web mvc,web api,也可以是C/s的winform,wpf等等
2-Application:这一层是网络应用层,它可以进行邮件,短信等功能的实现
3-Service:这一层为DDD分布式业务层,主要用来与Webservice,webapi,wcf等网络服务进行通讯,它可以由UI层直接调用
4-Domain:这是DDD的核心层,位于最底层,其它层需要直接或者间接的引用它,它由业务实体,业务规则和业务规范组成
5-Infrastructure:这是数据持久化层,主要实现了数据持久化的方式,可以由ORM工具实现,或者ADO实现,或者NOSQL实现
6-Project.Common:这是功能类库层,主要是对某种公用的功能进行的实现,时日志,缓存,异常等等
7-DLL:这是第三方类库,可以直接放在这个文件夹里
这就是我的DDD项目的架构,希望大家多多探讨!
回到目录
DDD~DDD从零起步架构说明相关推荐
- 美团高级技术专家:DDD 在旅游电商架构演进中的实践
- 前言 - 作为近两年来备受关注的架构设计思想,复杂.抽象 DDD 令很多技术人和架构师望而却步,国内勇于实践并最终落地的项目更是少之又少. 在如何看待 DDD 这一问题上,我们不 ...
- 从零起步到Linux运维经理,你必须管好的23个细节
2019独角兽企业重金招聘Python工程师标准>>> 从零起步到Linux运维经理,你必须管好的23个细节 双面人发表于热爱IT订阅 63 不想成为将军的士兵,不是好士兵-拿破仑 ...
- python 数学期望_(Python)零起步数学+神经网络入门
摘要: 手把手教你用(Python)零起步数学+神经网络入门! 在这篇文章中,我们将在Python中从头开始了解用于构建具有各种层神经网络(完全连接,卷积等)的小型库中的机器学习和代码.最终,我们将能 ...
- 零基础零起步,三周带你重塑《钢铁侠》之路
还记得<钢铁侠>中的 Jarvis 吗?对,就是那个可以为钢铁侠做所有他吩咐的事情,并且可以操控计算机的 AI 管家! Jarvis "逆天"的存在打破了人们的眼界,让 ...
- 第55课:60分钟内从零起步驾驭Hive实战学习笔记
第55课:60分钟内从零起步驾驭Hive实战学习笔记 本期内容: 1. Hive本质解析 2. Hive安装实战 3. 使用Hive操作搜索引擎数据实战 SparkSQL前身是Shark,Shark强 ...
- 类ChatGPT逐行代码解读(2/2):从零起步实现ChatLLaMA和ColossalChat
本文为<类ChatGPT逐行代码解读>系列的第二篇,上一篇是:如何从零起步实现Transformer.ChatGLM 本文两个模型的特点是加了RLHF 第六部分 LLaMA的RLHF版:C ...
- Discuz论坛架设从零起步之二
前期工作: 按Discuz论坛架设从零起步之一([url]http://waringid.blog.51cto.com/65148/50906[/url])的设置完成前期工作,在本节将完成php和ph ...
- Discuz论坛架设从零起步之四
前期工作: 按Discuz论坛架设从零起步之一([url]http://waringid.blog.51cto.com/65148/50906[/url]) Discuz论坛架设从零起步之二([url ...
- 1. 概述--从零起步实现基于Html5的WEB设计器Jquery插件
当一个软件为了达到一定的业务扩展性时(产品上线后限定范围内的用户需求无需变更代码,通过简单的配置可满足用户的要求),必然要求软件是可配置的. 笔者过去开发过很多配置型的管理软件,从可配置的表单设计(F ...
最新文章
- 什么?听说这四个概念,很多 Java 老手都说不清!
- python 栈和队列_Python实现栈和队列的简单操作方法示例
- arcgis渔网分割提取栅格图_【操作】ArcGIS中字段的合并、分割、提取
- Hibernate中1+N问题以及解决方法
- 网络原理 | TCP/IP中的连接管理机制 重要协议与核心机制
- java正则表达式 后顾,正则表达式:从Copy到手写
- java集合for循环_详解Java中list,set,map的遍历与增强for循环
- 关于微信精选留言点赞刷赞之公众号评论点赞及文章评论点赞软件使用方法
- ologit模型与logit_Logit模型与logistic模型的联系与区别?
- linux下查看网卡vid,Linux下查看USB设备的VID、PID命令
- ISO27017云服务信息安全管理体系认证
- python操作格林威治时间
- 阿里大数据-数据库总结:RDS ADS OTS Maxcompute(ODPS)
- 【红帽rhcsa基础命令】
- 【Unity】Unity中的异步编程技术详解
- 【80后回忆】经典电视剧集
- 上班摸鱼小游戏—推筒子
- 垃圾收集器调优相关参数
- 【ANSYS 学习笔记】Case05_Basic Transient Sources and Circuit
- 转贴:精神病人笑话全集
热门文章
- C语言中声明复数用什么字母,用c语言定义复数-20210407134457.docx-原创力文档
- java中scanner与hashmap_Java中HashMap的使用练习
- jmail组件 java_Jmail的主要参数列表
- anglar ajax执行2次的原因,AngularJS与Ajax表单提交需要单击两次
- java break递归_【Java】递归总结
- 计算机网络原理(第三章) 传输层 课后习题
- 大数据技术之 Kafka (第 4 章 Kafka API ) Producer API
- ElasticSearch和mysql对比
- 如何实现一个简单的RPC
- 2020年美妆行业内容营销报告