-
Notifications
You must be signed in to change notification settings - Fork 0
/
atom.xml
83 lines (60 loc) · 14.7 KB
/
atom.xml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
<title>Carecluse</title>
<subtitle>Where There is Life There is Struggle!</subtitle>
<link href="/atom.xml" rel="self"/>
<link href="http://yoursite.com/"/>
<updated>2017-03-26T14:11:20.250Z</updated>
<id>http://yoursite.com/</id>
<author>
<name>Carecluse</name>
</author>
<generator uri="http://hexo.io/">Hexo</generator>
<entry>
<title>设计模式之策略模式</title>
<link href="http://yoursite.com/2016/12/05/%E8%AE%BE%E8%AE%A1%E6%A8%A1%E5%BC%8F%E4%B9%8B%E7%AD%96%E7%95%A5%E6%A8%A1%E5%BC%8F/"/>
<id>http://yoursite.com/2016/12/05/设计模式之策略模式/</id>
<published>2016-12-05T14:20:32.000Z</published>
<updated>2017-03-26T14:11:20.250Z</updated>
<content type="html"><![CDATA[<h2 id="什么是策略模式?"><a href="#什么是策略模式?" class="headerlink" title="什么是策略模式?"></a>什么是策略模式?</h2><p>策略模式(Strategy Pattern):定义一系列的算法,将每一个算法封装起来,并让他们可以相互替换。策略模式让算法独立于使用它的客户而变化,也称为政策模式(Policy)。<br><a id="more"></a></p>
<h2 id="策略模式的优缺点?"><a href="#策略模式的优缺点?" class="headerlink" title="策略模式的优缺点?"></a>策略模式的优缺点?</h2><h4 id="优点:"><a href="#优点:" class="headerlink" title="优点:"></a>优点:</h4><ul>
<li>策略模式提供了对“开闭原则”的完美支持,用户可以在不修改原因系统的基础上选择算法或行为,也可以灵活地增加新的算法或行为。</li>
<li>策略模式提供了管理相关的算法族的办法。</li>
<li>策略模式提供了可以替换继承关系的办法。</li>
<li>使用策略模式可以避免使用多重条件转移语句。</li>
</ul>
<h4 id="缺点:"><a href="#缺点:" class="headerlink" title="缺点:"></a>缺点:</h4><ul>
<li>客户端必须知道所有的策略类,并自行决定使用哪一个策略类。</li>
<li>策略模式将产生很多策略类,这可以通过使用享元模式在一点程度上减少对象的数量。</li>
</ul>
<h2 id="策略模式的应用场景?"><a href="#策略模式的应用场景?" class="headerlink" title="策略模式的应用场景?"></a>策略模式的应用场景?</h2><p>在以下情况下可以使用策略模式:</p>
<ul>
<li>如果一个系统中有许多类,它们之间的区别仅在于它们的行为,那么使用策略模式可以动态的让一个对象在许多行为中选择一种行为。</li>
<li>一个系统需要动态地在几种算法中选择一种。</li>
<li>如果一个对象有很多的行为,如果不用恰当的模式,这些行为就只好使用多重的条件选择语句来实现。</li>
<li>不希望客户端知道复杂的、与算法相关的数据结构,在具体策略类中封装算法和相关的数据接口,提过算法的保密性和安全性。</li>
</ul>
]]></content>
<summary type="html">
<h2 id="&#x4EC0;&#x4E48;&#x662F;&#x7B56;&#x7565;&#x6A21;&#x5F0F;&#xFF1F;"><a href="#&#x4EC0;&#x4E48;&#x662F;&#x7B56;&#x7565;&#x6A21;&#x5F0F;&#xFF1F;" class="headerlink" title="&#x4EC0;&#x4E48;&#x662F;&#x7B56;&#x7565;&#x6A21;&#x5F0F;&#xFF1F;"></a>&#x4EC0;&#x4E48;&#x662F;&#x7B56;&#x7565;&#x6A21;&#x5F0F;&#xFF1F;</h2><p>&#x7B56;&#x7565;&#x6A21;&#x5F0F;&#xFF08;Strategy Pattern&#xFF09;&#xFF1A;&#x5B9A;&#x4E49;&#x4E00;&#x7CFB;&#x5217;&#x7684;&#x7B97;&#x6CD5;&#xFF0C;&#x5C06;&#x6BCF;&#x4E00;&#x4E2A;&#x7B97;&#x6CD5;&#x5C01;&#x88C5;&#x8D77;&#x6765;&#xFF0C;&#x5E76;&#x8BA9;&#x4ED6;&#x4EEC;&#x53EF;&#x4EE5;&#x76F8;&#x4E92;&#x66FF;&#x6362;&#x3002;&#x7B56;&#x7565;&#x6A21;&#x5F0F;&#x8BA9;&#x7B97;&#x6CD5;&#x72EC;&#x7ACB;&#x4E8E;&#x4F7F;&#x7528;&#x5B83;&#x7684;&#x5BA2;&#x6237;&#x800C;&#x53D8;&#x5316;&#xFF0C;&#x4E5F;&#x79F0;&#x4E3A;&#x653F;&#x7B56;&#x6A21;&#x5F0F;&#xFF08;Policy&#xFF09;&#x3002;<br></p>
</summary>
<category term="设计模式" scheme="http://yoursite.com/categories/%E8%AE%BE%E8%AE%A1%E6%A8%A1%E5%BC%8F/"/>
<category term="设计模式" scheme="http://yoursite.com/tags/%E8%AE%BE%E8%AE%A1%E6%A8%A1%E5%BC%8F/"/>
</entry>
<entry>
<title>Android 中的 Context</title>
<link href="http://yoursite.com/2016/12/04/Android-%E4%B8%AD%E7%9A%84-Context/"/>
<id>http://yoursite.com/2016/12/04/Android-中的-Context/</id>
<published>2016-12-04T15:22:54.000Z</published>
<updated>2017-03-26T07:52:41.026Z</updated>
<content type="html"><![CDATA[<h1 id="Context-到底是什么?"><a href="#Context-到底是什么?" class="headerlink" title="Context 到底是什么?"></a>Context 到底是什么?</h1><p>Context的中文翻译为:语境; 上下文; 背景; 环境,在开发中我们经常说称之为“上下文”,那么这个“上下文”到底是指什么意思呢?在语文中,我们可以理解为语境,在程序中,我们可以理解为当前对象在程序中所处的一个环境,一个与系统交互的过程。比如微信聊天,此时的“环境”是指聊天的界面以及相关的数据请求与传输,Context在加载资源、启动Activity、获取系统服务、创建View等操作都要参与。<br><a id="more"></a><br>那Context到底是什么呢?一个Activity就是一个Context,一个Service也是一个Context。Android程序员把“场景”抽象为Context类,他们认为用户和操作系统的每一次交互都是一个场景,比如打电话、发短信,这些都是一个有界面的场景,还有一些没有界面的场景,比如后台运行的服务(Service)。一个应用程序可以认为是一个工作环境,用户在这个环境中会切换到不同的场景,这就像一个前台秘书,她可能需要接待客人,可能要打印文件,还可能要接听客户电话,而这些就称之为不同的场景,前台秘书可以称之为一个应用程序。</p>
<h1 id="Context-有哪些类型?"><a href="#Context-有哪些类型?" class="headerlink" title="Context 有哪些类型?"></a>Context 有哪些类型?</h1><p><img src="/2016/12/04/Android-中的-Context/Context继承关系.png" alt="Context继承关系"></p>
<h1 id="Context-的作用域?"><a href="#Context-的作用域?" class="headerlink" title="Context 的作用域?"></a>Context 的作用域?</h1><p><img src="/2016/12/04/Android-中的-Context/Context作用域.png" alt="Context作用域"></p>
]]></content>
<summary type="html">
<h1 id="Context-&#x5230;&#x5E95;&#x662F;&#x4EC0;&#x4E48;&#xFF1F;"><a href="#Context-&#x5230;&#x5E95;&#x662F;&#x4EC0;&#x4E48;&#xFF1F;" class="headerlink" title="Context &#x5230;&#x5E95;&#x662F;&#x4EC0;&#x4E48;&#xFF1F;"></a>Context &#x5230;&#x5E95;&#x662F;&#x4EC0;&#x4E48;&#xFF1F;</h1><p>Context&#x7684;&#x4E2D;&#x6587;&#x7FFB;&#x8BD1;&#x4E3A;&#xFF1A;&#x8BED;&#x5883;; &#x4E0A;&#x4E0B;&#x6587;; &#x80CC;&#x666F;; &#x73AF;&#x5883;&#xFF0C;&#x5728;&#x5F00;&#x53D1;&#x4E2D;&#x6211;&#x4EEC;&#x7ECF;&#x5E38;&#x8BF4;&#x79F0;&#x4E4B;&#x4E3A;&#x201C;&#x4E0A;&#x4E0B;&#x6587;&#x201D;&#xFF0C;&#x90A3;&#x4E48;&#x8FD9;&#x4E2A;&#x201C;&#x4E0A;&#x4E0B;&#x6587;&#x201D;&#x5230;&#x5E95;&#x662F;&#x6307;&#x4EC0;&#x4E48;&#x610F;&#x601D;&#x5462;&#xFF1F;&#x5728;&#x8BED;&#x6587;&#x4E2D;&#xFF0C;&#x6211;&#x4EEC;&#x53EF;&#x4EE5;&#x7406;&#x89E3;&#x4E3A;&#x8BED;&#x5883;&#xFF0C;&#x5728;&#x7A0B;&#x5E8F;&#x4E2D;&#xFF0C;&#x6211;&#x4EEC;&#x53EF;&#x4EE5;&#x7406;&#x89E3;&#x4E3A;&#x5F53;&#x524D;&#x5BF9;&#x8C61;&#x5728;&#x7A0B;&#x5E8F;&#x4E2D;&#x6240;&#x5904;&#x7684;&#x4E00;&#x4E2A;&#x73AF;&#x5883;&#xFF0C;&#x4E00;&#x4E2A;&#x4E0E;&#x7CFB;&#x7EDF;&#x4EA4;&#x4E92;&#x7684;&#x8FC7;&#x7A0B;&#x3002;&#x6BD4;&#x5982;&#x5FAE;&#x4FE1;&#x804A;&#x5929;&#xFF0C;&#x6B64;&#x65F6;&#x7684;&#x201C;&#x73AF;&#x5883;&#x201D;&#x662F;&#x6307;&#x804A;&#x5929;&#x7684;&#x754C;&#x9762;&#x4EE5;&#x53CA;&#x76F8;&#x5173;&#x7684;&#x6570;&#x636E;&#x8BF7;&#x6C42;&#x4E0E;&#x4F20;&#x8F93;&#xFF0C;Context&#x5728;&#x52A0;&#x8F7D;&#x8D44;&#x6E90;&#x3001;&#x542F;&#x52A8;Activity&#x3001;&#x83B7;&#x53D6;&#x7CFB;&#x7EDF;&#x670D;&#x52A1;&#x3001;&#x521B;&#x5EFA;View&#x7B49;&#x64CD;&#x4F5C;&#x90FD;&#x8981;&#x53C2;&#x4E0E;&#x3002;<br></p>
</summary>
<category term="Android" scheme="http://yoursite.com/categories/Android/"/>
<category term="Android" scheme="http://yoursite.com/tags/Android/"/>
</entry>
</feed>