learn.lianglianglee.com/专栏/DDD实战课/index.html
2022-08-14 03:40:33 +08:00

193 lines
11 KiB
HTML
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<!DOCTYPE html>
<!-- saved from url=(0046)https://kaiiiz.github.io/hexo-theme-book-demo/ -->
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1.0, user-scalable=no">
<link rel="icon" href="/static/favicon.png">
<title>note-submit</title>
<!-- Spectre.css framework -->
<link rel="stylesheet" href="/static/index.css">
<!-- theme css & js -->
<meta name="generator" content="Hexo 4.2.0">
</head>
<body>
<div class="book-container">
<div class="book-sidebar">
<div class="book-brand">
<a href="/">
<img src="/static/favicon.png">
<span>技术文章摘抄</span>
</a>
</div>
<div class="book-menu uncollapsible">
<ul class="uncollapsible">
<li><a href="/" class="current-tab">首页</a></li>
</ul>
<ul class="uncollapsible">
<li><a href="../">上一级</a></li>
</ul>
<ul class="uncollapsible">
<li>
<a href="/PDF">PDF</a>
</li>
<li>
<a href="/专栏">专栏</a>
</li>
<li>
<a href="/恋爱必修课">恋爱必修课</a>
</li>
<li>
<a href="/文章">文章</a>
</li>
<li>
<a href="/极客时间">极客时间</a>
</li>
</ul>
</div>
</div>
<div class="sidebar-toggle" onclick="sidebar_toggle()" onmouseover="add_inner()" onmouseleave="remove_inner()">
<div class="sidebar-toggle-inner"></div>
</div>
<script>
function add_inner() {
let inner = document.querySelector('.sidebar-toggle-inner')
inner.classList.add('show')
}
function remove_inner() {
let inner = document.querySelector('.sidebar-toggle-inner')
inner.classList.remove('show')
}
function sidebar_toggle() {
let sidebar_toggle = document.querySelector('.sidebar-toggle')
let sidebar = document.querySelector('.book-sidebar')
let content = document.querySelector('.off-canvas-content')
if (sidebar_toggle.classList.contains('extend')) { // show
sidebar_toggle.classList.remove('extend')
sidebar.classList.remove('hide')
content.classList.remove('extend')
} else { // hide
sidebar_toggle.classList.add('extend')
sidebar.classList.add('hide')
content.classList.add('extend')
}
}
function open_sidebar() {
let sidebar = document.querySelector('.book-sidebar')
let overlay = document.querySelector('.off-canvas-overlay')
sidebar.classList.add('show')
overlay.classList.add('show')
}
function hide_canvas() {
let sidebar = document.querySelector('.book-sidebar')
let overlay = document.querySelector('.off-canvas-overlay')
sidebar.classList.remove('show')
overlay.classList.remove('show')
}
</script>
<div class="off-canvas-content">
<div class="columns">
<div class="column col-12 col-lg-12">
<div class="book-navbar">
<!-- For Responsive Layout -->
<header class="navbar">
<section class="navbar-section">
<a onclick="open_sidebar()">
<i class="icon icon-menu"></i>
</a>
</section>
</header>
</div>
<div class="book-content"
style="max-width: 960px; margin: 0 auto; overflow-x: auto; overflow-y: hidden;">
<div class="book-post">
<p id="tip" align="center"></p>
<div><!--add content-->
<h1>DDD实战课</h1>
<ul>
<li><a href = '\专栏\DDD实战课\00 开篇词 学好了DDD你能做什么.md.html'>00 开篇词 学好了DDD你能做什么</a></li>
<li><a href = '\专栏\DDD实战课\01 领域驱动设计微服务设计为什么要选择DDD.md.html'>01 领域驱动设计微服务设计为什么要选择DDD</a></li>
<li><a href = '\专栏\DDD实战课\02 领域、子域、核心域、通用域和支撑域:傻傻分不清?.md.html'>02 领域、子域、核心域、通用域和支撑域:傻傻分不清?</a></li>
<li><a href = '\专栏\DDD实战课\03 限界上下文:定义领域边界的利器'>03 限界上下文:定义领域边界的利器</a></li>
<li><a href = '\专栏\DDD实战课\04 实体和值对象:从领域模型的基础单元看系统设计.md.html'>04 实体和值对象:从领域模型的基础单元看系统设计</a></li>
<li><a href = '\专栏\DDD实战课\05 聚合和聚合根:怎样设计聚合?.md.html'>05 聚合和聚合根:怎样设计聚合?</a></li>
<li><a href = '\专栏\DDD实战课\06 领域事件:解耦微服务的关键.md.html'>06 领域事件:解耦微服务的关键</a></li>
<li><a href = '\专栏\DDD实战课\07 DDD分层架构有效降低层与层之间的依赖.md.html'>07 DDD分层架构有效降低层与层之间的依赖</a></li>
<li><a href = '\专栏\DDD实战课\08 微服务架构模型:几种常见模型的对比和分析.md.html'>08 微服务架构模型:几种常见模型的对比和分析</a></li>
<li><a href = '\专栏\DDD实战课\09 中台:数字转型后到底应该共享什么?.md.html'>09 中台:数字转型后到底应该共享什么?</a></li>
<li><a href = '\专栏\DDD实战课\10 DDD、中台和微服务它们是如何协作的.md.html'>10 DDD、中台和微服务它们是如何协作的</a></li>
<li><a href = '\专栏\DDD实战课\11 DDD实践如何用DDD重构中台业务模型.md.html'>11 DDD实践如何用DDD重构中台业务模型</a></li>
<li><a href = '\专栏\DDD实战课\12 领域建模:如何用事件风暴构建领域模型?.md.html'>12 领域建模:如何用事件风暴构建领域模型?</a></li>
<li><a href = '\专栏\DDD实战课\13 代码模型如何使用DDD设计微服务代码模型.md.html'>13 代码模型如何使用DDD设计微服务代码模型</a></li>
<li><a href = '\专栏\DDD实战课\14 代码模型(下):如何保证领域模型与代码模型的一致性?.md.html'>14 代码模型(下):如何保证领域模型与代码模型的一致性?</a></li>
<li><a href = '\专栏\DDD实战课\15 边界:微服务的各种边界在架构演进中的作用?.md.html'>15 边界:微服务的各种边界在架构演进中的作用?</a></li>
<li><a href = '\专栏\DDD实战课\16 视图:如何实现服务和数据在微服务各层的协作?.md.html'>16 视图:如何实现服务和数据在微服务各层的协作?</a></li>
<li><a href = '\专栏\DDD实战课\17 从后端到前端:微服务后,前端如何设计?.md.html'>17 从后端到前端:微服务后,前端如何设计?</a></li>
<li><a href = '\专栏\DDD实战课\18 知识点串讲基于DDD的微服务设计实例.md.html'>18 知识点串讲基于DDD的微服务设计实例</a></li>
<li><a href = '\专栏\DDD实战课\19 总结(一):微服务设计和拆分要坚持哪些原则?.md.html'>19 总结(一):微服务设计和拆分要坚持哪些原则?</a></li>
<li><a href = '\专栏\DDD实战课\20 总结分布式架构关键设计10问.md.html'>20 总结分布式架构关键设计10问</a></li>
<li><a href = '\专栏\DDD实战课\答疑有关3个典型问题的讲解.md.html'>答疑有关3个典型问题的讲解</a></li>
<li><a href = '\专栏\DDD实战课\结束语 所谓高手,就是跨过坑和大海.md.html'>结束语 所谓高手,就是跨过坑和大海</a></li>
</ul>
</div>
</div>
<div>
</div>
</div>
</div>
</div>
</div>
<a class="off-canvas-overlay" onclick="hide_canvas()"></a>
</div>
<script defer src="https://static.cloudflareinsights.com/beacon.min.js/v652eace1692a40cfa3763df669d7439c1639079717194"
integrity="sha512-Gi7xpJR8tSkrpF7aordPZQlW2DLtzUlZcumS8dMQjwDHEnw9I7ZLyiOj/6tZStRBGtGgN6ceN6cMH8z7etPGlw=="
data-cf-beacon='{"rayId":"70996b2f083d3d60","version":"2021.12.0","r":1,"token":"1f5d475227ce4f0089a7cff1ab17c0f5","si":100}'
crossorigin="anonymous"></script>
</body>
<!-- Global site tag (gtag.js) - Google Analytics -->
<script async src="https://www.googletagmanager.com/gtag/js?id=G-NPSEEVD756"></script>
<script>
window.dataLayer = window.dataLayer || [];
function gtag() {
dataLayer.push(arguments);
}
gtag('js', new Date());
gtag('config', 'G-NPSEEVD756');
var path = window.location.pathname
var cookie = getCookie("lastPath");
console.log(path)
if (path.replace("/", "") === "") {
if (cookie.replace("/", "") !== "") {
console.log(cookie)
document.getElementById("tip").innerHTML = "<a href='" + cookie + "'>跳转到上次进度</a>"
}
} else {
setCookie("lastPath", path)
}
function setCookie(cname, cvalue) {
var d = new Date();
d.setTime(d.getTime() + (180 * 24 * 60 * 60 * 1000));
var expires = "expires=" + d.toGMTString();
document.cookie = cname + "=" + cvalue + "; " + expires + ";path = /";
}
function getCookie(cname) {
var name = cname + "=";
var ca = document.cookie.split(';');
for (var i = 0; i < ca.length; i++) {
var c = ca[i].trim();
if (c.indexOf(name) === 0) return c.substring(name.length, c.length);
}
return "";
}
</script>
</html>