Skip to content

Commit

Permalink
Site updated: 2023-10-08 14:40:23
Browse files Browse the repository at this point in the history
  • Loading branch information
WalkerDenial committed Oct 8, 2023
1 parent d9e37ed commit 02cca18
Show file tree
Hide file tree
Showing 232 changed files with 1,878 additions and 6,174 deletions.
4 changes: 2 additions & 2 deletions 2017/01/10/设计模式/设计模式概述/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@
url(/fonts/MaterialIcons-Regular.ttf) format('truetype')
}
</style>
<meta name="generator" content="Hexo 5.4.0"><link rel="stylesheet" href="/css/prism.css" type="text/css">
<meta name="generator" content="Hexo 7.0.0-rc2"><link rel="stylesheet" href="/css/prism.css" type="text/css">
<link rel="stylesheet" href="/css/prism-line-numbers.css" type="text/css"></head>
<body>
<div id="menu-box"><a href="javascript:void(0)" id="menu" data-activates="slide-out" class="button-collapse menu" ><span class="nav-btn"></span></a></div>
Expand Down Expand Up @@ -131,7 +131,7 @@
<div id="content-inner">

<article id="post">
<div class="post-page-title" style="background-color:#26A69A;background-image:url(/images/random/vateral-11.png)" >
<div class="post-page-title" style="background-color:#26A69A;background-image:url(/images/random/vateral-13.png)" >
<h2>设计模式概述</h2>

<p>作者 : Walker Denial &nbsp&nbsp 发布于 : <time datetime="2017-01-10T06:00:00.000Z">
Expand Down
16 changes: 3 additions & 13 deletions 2017/01/11/设计模式/面向对象设计原则/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@
url(/fonts/MaterialIcons-Regular.ttf) format('truetype')
}
</style>
<meta name="generator" content="Hexo 5.4.0"><link rel="stylesheet" href="/css/prism.css" type="text/css">
<meta name="generator" content="Hexo 7.0.0-rc2"><link rel="stylesheet" href="/css/prism.css" type="text/css">
<link rel="stylesheet" href="/css/prism-line-numbers.css" type="text/css"></head>
<body>
<div id="menu-box"><a href="javascript:void(0)" id="menu" data-activates="slide-out" class="button-collapse menu" ><span class="nav-btn"></span></a></div>
Expand Down Expand Up @@ -131,7 +131,7 @@
<div id="content-inner">

<article id="post">
<div class="post-page-title" style="background-color:#26A69A;background-image:url(/images/random/vateral-4.png)" >
<div class="post-page-title" style="background-color:#26A69A;background-image:url(/images/random/vateral-15.png)" >
<h2>面向对象设计原则</h2>

<p>作者 : Walker Denial &nbsp&nbsp 发布于 : <time datetime="2017-01-11T07:01:00.000Z">
Expand Down Expand Up @@ -182,17 +182,7 @@ <h4 id="5-接口隔离原则(Interface-Segregation-Principle-ISP)"><a href="
<h4 id="6-合成复用原则(Composite-Reuse-Principle-CRP)"><a href="#6-合成复用原则(Composite-Reuse-Principle-CRP)" class="headerlink" title="6. 合成复用原则(Composite Reuse Principle, CRP)"></a>6. 合成复用原则(Composite Reuse Principle, CRP)</h4><p><code>合成复用原则</code>:尽量使用对象组合,而不是继承来达到复用的目的。</p>
<h4 id="7-迪米特原则(Law-of-Demeter-LOD)"><a href="#7-迪米特原则(Law-of-Demeter-LOD)" class="headerlink" title="7. 迪米特原则(Law of Demeter, LOD)"></a>7. 迪米特原则(Law of Demeter, LOD)</h4><p><code>迪米特原则</code> 的定义是:一个对象应该对其他对象有最少的了解。通俗地讲,一个类应该对自己需要耦合或调用的类知道的最少,类的内部如何实现与调用者或者依赖者只需要知道它需要的方法即可,其它的可一概不用管。类与类之间的关系越密切,耦合度越大,当一个类发生改变时,对另一个类的影响也越大。</p>
<p>简单一点来说,局部变量中,不要引入新的类,错误示例代码如下:</p>
<pre class="line-numbers language-java"><code class="language-java"><span class="token keyword">public</span> <span class="token keyword">class</span> <span class="token class-name">Order</span> <span class="token punctuation">{</span>

<span class="token keyword">private</span> Product product <span class="token operator">=</span> <span class="token keyword">new</span> <span class="token class-name">Product</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
<span class="token keyword">private</span> Customer customer <span class="token operator">=</span> <span class="token keyword">new</span> <span class="token class-name">Customer</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">;</span>

<span class="token keyword">public</span> <span class="token keyword">void</span> <span class="token function">book</span><span class="token punctuation">(</span><span class="token keyword">int</span> productId<span class="token punctuation">,</span> <span class="token keyword">int</span> userId<span class="token punctuation">)</span> <span class="token punctuation">{</span>
Worker worker <span class="token operator">=</span> <span class="token keyword">new</span> <span class="token class-name">Worker</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">;</span> <span class="token comment" spellcheck="true">// 在局部变量中,引入了新的类 Worker,违反了迪米特原则</span>
<span class="token punctuation">}</span>

<span class="token punctuation">}</span>
<span aria-hidden="true" class="line-numbers-rows"><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span></span></code></pre>
<figure class="highlight java"><table><tr><td class="code"><pre><span class="line"><span class="keyword">public</span> <span class="keyword">class</span> <span class="title class_">Order</span> &#123;</span><br><span class="line"></span><br><span class="line"> <span class="keyword">private</span> <span class="type">Product</span> <span class="variable">product</span> <span class="operator">=</span> <span class="keyword">new</span> <span class="title class_">Product</span>();</span><br><span class="line"> <span class="keyword">private</span> <span class="type">Customer</span> <span class="variable">customer</span> <span class="operator">=</span> <span class="keyword">new</span> <span class="title class_">Customer</span>();</span><br><span class="line"> </span><br><span class="line"> <span class="keyword">public</span> <span class="keyword">void</span> <span class="title function_">book</span><span class="params">(<span class="type">int</span> productId, <span class="type">int</span> userId)</span> &#123;</span><br><span class="line"> <span class="type">Worker</span> <span class="variable">worker</span> <span class="operator">=</span> <span class="keyword">new</span> <span class="title class_">Worker</span>(); <span class="comment">// 在局部变量中,引入了新的类 Worker,违反了迪米特原则</span></span><br><span class="line"> &#125;</span><br><span class="line"></span><br><span class="line">&#125;</span><br></pre></td></tr></table></figure>

</div>
<!--评论块-->
Expand Down
14 changes: 7 additions & 7 deletions 2017/02/14/UML/UML概述/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@
url(/fonts/MaterialIcons-Regular.ttf) format('truetype')
}
</style>
<meta name="generator" content="Hexo 5.4.0"><link rel="stylesheet" href="/css/prism.css" type="text/css">
<meta name="generator" content="Hexo 7.0.0-rc2"><link rel="stylesheet" href="/css/prism.css" type="text/css">
<link rel="stylesheet" href="/css/prism-line-numbers.css" type="text/css"></head>
<body>
<div id="menu-box"><a href="javascript:void(0)" id="menu" data-activates="slide-out" class="button-collapse menu" ><span class="nav-btn"></span></a></div>
Expand Down Expand Up @@ -131,7 +131,7 @@
<div id="content-inner">

<article id="post">
<div class="post-page-title" style="background-color:#26A69A;background-image:url(/images/random/vateral-16.png)" >
<div class="post-page-title" style="background-color:#26A69A;background-image:url(/images/random/vateral-1.png)" >
<h2>UML 概述</h2>

<p>作者 : Walker Denial &nbsp&nbsp 发布于 : <time datetime="2017-02-14T06:42:00.000Z">
Expand Down Expand Up @@ -171,11 +171,11 @@ <h3 id="4-类之间的关系"><a href="#4-类之间的关系" class="headerlink"
<li><pre><code>双向关联
</code></pre>
</li>
<li> 单向关联</li>
<li> 自关联</li>
<li> 多重性关联</li>
<li> 聚合关系</li>
<li> 组合关系</li>
<li>单向关联</li>
<li>自关联</li>
<li>多重性关联</li>
<li>聚合关系</li>
<li>组合关系</li>
</ul>
</li>
<li>依赖关系</li>
Expand Down
4 changes: 2 additions & 2 deletions 2017/02/15/设计模式/单例模式/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@
url(/fonts/MaterialIcons-Regular.ttf) format('truetype')
}
</style>
<meta name="generator" content="Hexo 5.4.0"><link rel="stylesheet" href="/css/prism.css" type="text/css">
<meta name="generator" content="Hexo 7.0.0-rc2"><link rel="stylesheet" href="/css/prism.css" type="text/css">
<link rel="stylesheet" href="/css/prism-line-numbers.css" type="text/css"></head>
<body>
<div id="menu-box"><a href="javascript:void(0)" id="menu" data-activates="slide-out" class="button-collapse menu" ><span class="nav-btn"></span></a></div>
Expand Down Expand Up @@ -131,7 +131,7 @@
<div id="content-inner">

<article id="post">
<div class="post-page-title" style="background-color:#26A69A;background-image:url(/images/random/vateral-12.png)" >
<div class="post-page-title" style="background-color:#26A69A;background-image:url(/images/random/vateral-4.png)" >
<h2>单例模式</h2>

<p>作者 : Walker Denial &nbsp&nbsp 发布于 : <time datetime="2017-02-15T06:54:00.000Z">
Expand Down
4 changes: 2 additions & 2 deletions 2017/02/15/设计模式/工厂方法模式/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@
url(/fonts/MaterialIcons-Regular.ttf) format('truetype')
}
</style>
<meta name="generator" content="Hexo 5.4.0"><link rel="stylesheet" href="/css/prism.css" type="text/css">
<meta name="generator" content="Hexo 7.0.0-rc2"><link rel="stylesheet" href="/css/prism.css" type="text/css">
<link rel="stylesheet" href="/css/prism-line-numbers.css" type="text/css"></head>
<body>
<div id="menu-box"><a href="javascript:void(0)" id="menu" data-activates="slide-out" class="button-collapse menu" ><span class="nav-btn"></span></a></div>
Expand Down Expand Up @@ -131,7 +131,7 @@
<div id="content-inner">

<article id="post">
<div class="post-page-title" style="background-color:#26A69A;background-image:url(/images/random/vateral-7.png)" >
<div class="post-page-title" style="background-color:#26A69A;background-image:url(/images/random/vateral-6.png)" >
<h2>工厂方法模式</h2>

<p>作者 : Walker Denial &nbsp&nbsp 发布于 : <time datetime="2017-02-15T09:42:00.000Z">
Expand Down
4 changes: 2 additions & 2 deletions 2017/02/15/设计模式/抽象工厂模式/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@
url(/fonts/MaterialIcons-Regular.ttf) format('truetype')
}
</style>
<meta name="generator" content="Hexo 5.4.0"><link rel="stylesheet" href="/css/prism.css" type="text/css">
<meta name="generator" content="Hexo 7.0.0-rc2"><link rel="stylesheet" href="/css/prism.css" type="text/css">
<link rel="stylesheet" href="/css/prism-line-numbers.css" type="text/css"></head>
<body>
<div id="menu-box"><a href="javascript:void(0)" id="menu" data-activates="slide-out" class="button-collapse menu" ><span class="nav-btn"></span></a></div>
Expand Down Expand Up @@ -131,7 +131,7 @@
<div id="content-inner">

<article id="post">
<div class="post-page-title" style="background-color:#26A69A;background-image:url(/images/random/vateral-6.png)" >
<div class="post-page-title" style="background-color:#26A69A;background-image:url(/images/random/vateral-16.png)" >
<h2>抽象工厂模式</h2>

<p>作者 : Walker Denial &nbsp&nbsp 发布于 : <time datetime="2017-02-15T10:23:00.000Z">
Expand Down
4 changes: 2 additions & 2 deletions 2017/02/15/设计模式/简单工厂模式/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@
url(/fonts/MaterialIcons-Regular.ttf) format('truetype')
}
</style>
<meta name="generator" content="Hexo 5.4.0"><link rel="stylesheet" href="/css/prism.css" type="text/css">
<meta name="generator" content="Hexo 7.0.0-rc2"><link rel="stylesheet" href="/css/prism.css" type="text/css">
<link rel="stylesheet" href="/css/prism-line-numbers.css" type="text/css"></head>
<body>
<div id="menu-box"><a href="javascript:void(0)" id="menu" data-activates="slide-out" class="button-collapse menu" ><span class="nav-btn"></span></a></div>
Expand Down Expand Up @@ -131,7 +131,7 @@
<div id="content-inner">

<article id="post">
<div class="post-page-title" style="background-color:#26A69A;background-image:url(/images/random/vateral-15.png)" >
<div class="post-page-title" style="background-color:#26A69A;background-image:url(/images/random/vateral-14.png)" >
<h2>简单工厂模式</h2>

<p>作者 : Walker Denial &nbsp&nbsp 发布于 : <time datetime="2017-02-15T09:19:00.000Z">
Expand Down
4 changes: 2 additions & 2 deletions 2017/02/16/设计模式/3种工厂模式对比/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@
url(/fonts/MaterialIcons-Regular.ttf) format('truetype')
}
</style>
<meta name="generator" content="Hexo 5.4.0"><link rel="stylesheet" href="/css/prism.css" type="text/css">
<meta name="generator" content="Hexo 7.0.0-rc2"><link rel="stylesheet" href="/css/prism.css" type="text/css">
<link rel="stylesheet" href="/css/prism-line-numbers.css" type="text/css"></head>
<body>
<div id="menu-box"><a href="javascript:void(0)" id="menu" data-activates="slide-out" class="button-collapse menu" ><span class="nav-btn"></span></a></div>
Expand Down Expand Up @@ -131,7 +131,7 @@
<div id="content-inner">

<article id="post">
<div class="post-page-title" style="background-color:#26A69A;background-image:url(/images/random/vateral-17.png)" >
<div class="post-page-title" style="background-color:#26A69A;background-image:url(/images/random/vateral-13.png)" >
<h2>3种工厂模式对比</h2>

<p>作者 : Walker Denial &nbsp&nbsp 发布于 : <time datetime="2017-02-16T06:14:00.000Z">
Expand Down
6 changes: 3 additions & 3 deletions 2017/02/16/设计模式/原型模式/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@
url(/fonts/MaterialIcons-Regular.ttf) format('truetype')
}
</style>
<meta name="generator" content="Hexo 5.4.0"><link rel="stylesheet" href="/css/prism.css" type="text/css">
<meta name="generator" content="Hexo 7.0.0-rc2"><link rel="stylesheet" href="/css/prism.css" type="text/css">
<link rel="stylesheet" href="/css/prism-line-numbers.css" type="text/css"></head>
<body>
<div id="menu-box"><a href="javascript:void(0)" id="menu" data-activates="slide-out" class="button-collapse menu" ><span class="nav-btn"></span></a></div>
Expand Down Expand Up @@ -131,7 +131,7 @@
<div id="content-inner">

<article id="post">
<div class="post-page-title" style="background-color:#26A69A;background-image:url(/images/random/vateral-1.png)" >
<div class="post-page-title" style="background-color:#26A69A;background-image:url(/images/random/vateral-5.png)" >
<h2>原型模式</h2>

<p>作者 : Walker Denial &nbsp&nbsp 发布于 : <time datetime="2017-02-16T06:40:00.000Z">
Expand All @@ -154,7 +154,7 @@ <h4 id="2-2-不同点"><a href="#2-2-不同点" class="headerlink" title="2.2
<li>浅克隆克隆的是内存指向地址,如果是 <strong>基本数据类型</strong>,影响不大,如果是 <strong>引用类型</strong>,则 clone 对象中属性的修改,会引起被克隆对象数据的修改,导致数据紊乱</li>
<li>深 clone,即将整个对象 clone 并且生成新的对象,不论是对象内存指向地址还是属性内存指向地址,都不相同,可以进行需求操作而不影响被 clone 体</li>
</ol>
<p><strong>浅克隆</strong> 的实现方案是:利用 java 的 cloneable 接口,可以快速实现克隆;或者创建一个新对象,并且赋值即可。 </p>
<p><strong>浅克隆</strong> 的实现方案是:利用 java 的 cloneable 接口,可以快速实现克隆;或者创建一个新对象,并且赋值即可。 </p>
<p><strong>深克隆</strong> 的实现方案是:利用 Serializable 接口,克隆对象流并生成新对象即可。</p>
<h3 id="3-优点"><a href="#3-优点" class="headerlink" title="3. 优点"></a>3. 优点</h3><ol>
<li>当创建新的对象实例较为复杂时,使用原型模式可以简化对象的创建过程,通过复制一个已有实例可以提高新实例的创建效率</li>
Expand Down
4 changes: 2 additions & 2 deletions 2017/02/17/设计模式/建造者模式/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@
url(/fonts/MaterialIcons-Regular.ttf) format('truetype')
}
</style>
<meta name="generator" content="Hexo 5.4.0"><link rel="stylesheet" href="/css/prism.css" type="text/css">
<meta name="generator" content="Hexo 7.0.0-rc2"><link rel="stylesheet" href="/css/prism.css" type="text/css">
<link rel="stylesheet" href="/css/prism-line-numbers.css" type="text/css"></head>
<body>
<div id="menu-box"><a href="javascript:void(0)" id="menu" data-activates="slide-out" class="button-collapse menu" ><span class="nav-btn"></span></a></div>
Expand Down Expand Up @@ -131,7 +131,7 @@
<div id="content-inner">

<article id="post">
<div class="post-page-title" style="background-color:#26A69A;background-image:url(/images/random/vateral-17.png)" >
<div class="post-page-title" style="background-color:#26A69A;background-image:url(/images/random/vateral-8.png)" >
<h2>建造者模式</h2>

<p>作者 : Walker Denial &nbsp&nbsp 发布于 : <time datetime="2017-02-17T08:54:00.000Z">
Expand Down
4 changes: 2 additions & 2 deletions 2017/02/20/设计模式/适配器模式/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@
url(/fonts/MaterialIcons-Regular.ttf) format('truetype')
}
</style>
<meta name="generator" content="Hexo 5.4.0"><link rel="stylesheet" href="/css/prism.css" type="text/css">
<meta name="generator" content="Hexo 7.0.0-rc2"><link rel="stylesheet" href="/css/prism.css" type="text/css">
<link rel="stylesheet" href="/css/prism-line-numbers.css" type="text/css"></head>
<body>
<div id="menu-box"><a href="javascript:void(0)" id="menu" data-activates="slide-out" class="button-collapse menu" ><span class="nav-btn"></span></a></div>
Expand Down Expand Up @@ -131,7 +131,7 @@
<div id="content-inner">

<article id="post">
<div class="post-page-title" style="background-color:#26A69A;background-image:url(/images/random/vateral-10.png)" >
<div class="post-page-title" style="background-color:#26A69A;background-image:url(/images/random/vateral-16.png)" >
<h2>适配器模式</h2>

<p>作者 : Walker Denial &nbsp&nbsp 发布于 : <time datetime="2017-02-20T06:21:00.000Z">
Expand Down
4 changes: 2 additions & 2 deletions 2017/02/21/设计模式/桥接模式/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@
url(/fonts/MaterialIcons-Regular.ttf) format('truetype')
}
</style>
<meta name="generator" content="Hexo 5.4.0"><link rel="stylesheet" href="/css/prism.css" type="text/css">
<meta name="generator" content="Hexo 7.0.0-rc2"><link rel="stylesheet" href="/css/prism.css" type="text/css">
<link rel="stylesheet" href="/css/prism-line-numbers.css" type="text/css"></head>
<body>
<div id="menu-box"><a href="javascript:void(0)" id="menu" data-activates="slide-out" class="button-collapse menu" ><span class="nav-btn"></span></a></div>
Expand Down Expand Up @@ -131,7 +131,7 @@
<div id="content-inner">

<article id="post">
<div class="post-page-title" style="background-color:#26A69A;background-image:url(/images/random/vateral-5.png)" >
<div class="post-page-title" style="background-color:#26A69A;background-image:url(/images/random/vateral-11.png)" >
<h2>桥接模式</h2>

<p>作者 : Walker Denial &nbsp&nbsp 发布于 : <time datetime="2017-02-21T03:25:00.000Z">
Expand Down
4 changes: 2 additions & 2 deletions 2017/02/23/设计模式/组合模式/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@
url(/fonts/MaterialIcons-Regular.ttf) format('truetype')
}
</style>
<meta name="generator" content="Hexo 5.4.0"><link rel="stylesheet" href="/css/prism.css" type="text/css">
<meta name="generator" content="Hexo 7.0.0-rc2"><link rel="stylesheet" href="/css/prism.css" type="text/css">
<link rel="stylesheet" href="/css/prism-line-numbers.css" type="text/css"></head>
<body>
<div id="menu-box"><a href="javascript:void(0)" id="menu" data-activates="slide-out" class="button-collapse menu" ><span class="nav-btn"></span></a></div>
Expand Down Expand Up @@ -131,7 +131,7 @@
<div id="content-inner">

<article id="post">
<div class="post-page-title" style="background-color:#26A69A;background-image:url(/images/random/vateral-3.png)" >
<div class="post-page-title" style="background-color:#26A69A;background-image:url(/images/random/vateral-9.png)" >
<h2>组合模式</h2>

<p>作者 : Walker Denial &nbsp&nbsp 发布于 : <time datetime="2017-02-23T08:19:00.000Z">
Expand Down
Loading

0 comments on commit 02cca18

Please sign in to comment.