<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[qq_35306443的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/qq_35306443</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; qq_35306443]]></copyright><item><title><![CDATA[es 实战练习]]></title><link>https://blog.youkuaiyun.com/qq_35306443/article/details/100273749</link><guid>https://blog.youkuaiyun.com/qq_35306443/article/details/100273749</guid><author>qq_35306443</author><pubDate>Mon, 02 Sep 2019 14:55:11 +0800</pubDate><description><![CDATA[准备工作，启动es , 打开postman--》body- row-json

增加数据 注意put 方法


PUT /megacorp/employee/1
{
    "first_name" : "John",
    "last_name" :  "Smith",
    "age" :        25,
    "about" :      "I love to go rock c...]]></description><category></category></item><item><title><![CDATA[职责链模式]]></title><link>https://blog.youkuaiyun.com/qq_35306443/article/details/100039513</link><guid>https://blog.youkuaiyun.com/qq_35306443/article/details/100039513</guid><author>qq_35306443</author><pubDate>Fri, 23 Aug 2019 16:07:43 +0800</pubDate><description><![CDATA[采购员采购教学器材
1) 如果金额 小于等于 5000, 由教学主任审批 （0&lt;=x&lt;=5000）
2) 如果金额 小于等于 10000, 由院长审批 (5000&lt;x&lt;=10000)
3) 如果金额 小于等于 30000, 由副校长审批 (10000&lt;x&lt;=30000)
4) 如果金额 超过 30000 以上，有校长审批 ( 30000&lt;x)




1...]]></description><category></category></item><item><title><![CDATA[策略模式]]></title><link>https://blog.youkuaiyun.com/qq_35306443/article/details/100038680</link><guid>https://blog.youkuaiyun.com/qq_35306443/article/details/100038680</guid><author>qq_35306443</author><pubDate>Fri, 23 Aug 2019 15:33:32 +0800</pubDate><description><![CDATA[1) 有各种鸭子(比如 野鸭、北京鸭、水鸭等， 鸭子有各种行为，比如 叫、飞行等)
2) 显示鸭子的信息


public abstract class Duck {

	public Duck() {
	
	}
	
	public abstract void display();//显示鸭子信息
	
	public void quack() {
		System.out.println("鸭子...]]></description><category></category></item><item><title><![CDATA[状态模式]]></title><link>https://blog.youkuaiyun.com/qq_35306443/article/details/100037514</link><guid>https://blog.youkuaiyun.com/qq_35306443/article/details/100037514</guid><author>qq_35306443</author><pubDate>Fri, 23 Aug 2019 15:06:08 +0800</pubDate><description><![CDATA[状态模式基本介绍
基本介绍
1) 状态模式（State Pattern）：它主要用来解决对象在多种状态转换时，需要对外输出不同的行为的问题。状态
和行为是一一对应的，状态之间可以相互转换
2) 当一个对象的内在状态改变时，允许改变其行为，这个对象看起来像是改变了其类

原理类图




1) Context 类为环境角色, 用于维护 State 实例,这个实例定义当前状态（聚合state）
2)...]]></description><category></category></item><item><title><![CDATA[解释器模式]]></title><link>https://blog.youkuaiyun.com/qq_35306443/article/details/100036912</link><guid>https://blog.youkuaiyun.com/qq_35306443/article/details/100036912</guid><author>qq_35306443</author><pubDate>Fri, 23 Aug 2019 14:22:22 +0800</pubDate><description><![CDATA[基本介绍

1) 在编译原理中，一个算术表达式通过词法分析器形成词法单元，而后这些词法单元再通过语法分析器构建语法 分析树，最终形成一颗抽象的语法分析树。这里的词法分析器和语法分析器都可以看做是解释器

2) 解释器模式（Interpreter Pattern）：是指给定一个语言(表达式)，定义它的文法的一种表示，并定义一个解释器， 使用该解释器来解释语言中的句子(表达式)

3) 应用场景 -应...]]></description><category></category></item><item><title><![CDATA[备忘录模式]]></title><link>https://blog.youkuaiyun.com/qq_35306443/article/details/100034724</link><guid>https://blog.youkuaiyun.com/qq_35306443/article/details/100034724</guid><author>qq_35306443</author><pubDate>Fri, 23 Aug 2019 11:43:05 +0800</pubDate><description><![CDATA[游戏角色有攻击力和防御力，在大战 Boss 前保存自身的状态(攻击力和防御力)，当大战 Boss 后攻击力和防御 力下降，从备忘录对象恢复到大战前的状态.

传统方案解决游戏角色恢复






基本介绍
1) 备忘录模式（Memento Pattern）在不破坏封装性的前提下，捕获一个对象的内部状态，并在该对象之外保存
这个状态。这样以后就可将该对象恢复到原先保存的状态

2) 可以这里理解备忘...]]></description><category></category></item><item><title><![CDATA[中介者模式]]></title><link>https://blog.youkuaiyun.com/qq_35306443/article/details/100034035</link><guid>https://blog.youkuaiyun.com/qq_35306443/article/details/100034035</guid><author>qq_35306443</author><pubDate>Fri, 23 Aug 2019 11:41:47 +0800</pubDate><description><![CDATA[基本介绍
1) 中介者模式（Mediator Pattern），用一个中介对象来封装一系列的对象交互。中介者使各个对象不需要显
式地相互引用，从而使其耦合松散，而且可以独立地改变它们之间的交互
2) 中介者模式属于行为型模式，使代码易于维护

3) 比如 MVC 模式，C（Controller 控制器）是 M（Model 模型）和 V（View 视图）的中介者，在前后端交互时起到了中间人的作用
...]]></description><category></category></item><item><title><![CDATA[观察者模式]]></title><link>https://blog.youkuaiyun.com/qq_35306443/article/details/100031919</link><guid>https://blog.youkuaiyun.com/qq_35306443/article/details/100031919</guid><author>qq_35306443</author><pubDate>Fri, 23 Aug 2019 11:11:40 +0800</pubDate><description><![CDATA[例子

1) 气象站可以将每天测量到的温度，湿度，气压等等以公告的形式发布出去(比如发布到自己的网站或第三方)。

2) 需要设计开放型 API，便于其他第三方也能接入气象站获取数据。

3) 提供温度、气压和湿度的接口 4) 测量数据更新时，要能实时的通知给第三方






观察者模式原理
1) 观察者模式类似订牛奶业务
2) 奶站/气象局：Subject
3) 用户/第三方网站：Obse...]]></description><category></category></item><item><title><![CDATA[迭代器模式]]></title><link>https://blog.youkuaiyun.com/qq_35306443/article/details/100030599</link><guid>https://blog.youkuaiyun.com/qq_35306443/article/details/100030599</guid><author>qq_35306443</author><pubDate>Fri, 23 Aug 2019 10:03:38 +0800</pubDate><description><![CDATA[1) 迭代器模式（Iterator Pattern）是常用的设计模式，属于行为型模式

2) 如果我们的集合元素是用不同的方式实现的，有数组，还有 java 的集合类，或者还有其他方式，当客户端要遍 历这些集合元素的时候就要使用多种遍历方式，而且还会暴露元素的内部结构，可以考虑使用迭代器模式解决。

3) 迭代器模式，提供一种遍历集合元素的统一接口，用一致的方法遍历集合元素，不需要知道集合对象的底...]]></description><category></category></item><item><title><![CDATA[访问者模式]]></title><link>https://blog.youkuaiyun.com/qq_35306443/article/details/100017042</link><guid>https://blog.youkuaiyun.com/qq_35306443/article/details/100017042</guid><author>qq_35306443</author><pubDate>Thu, 22 Aug 2019 16:19:03 +0800</pubDate><description><![CDATA[访问者模式基本介绍
1) 访问者模式（Visitor Pattern），封装一些作用于某种数据结构的各元素的操作， 它可以在不改变数据结
构的前提下定义作用于这些元素的新的操作。

2) 主要将数据结构与数据操作分离，解决 数据结构和操作耦合性问题 

3) 访问者模式的基本工作原理是：在被访问的类里面加一个对外提供接待访问者 的接口
4) 访问者模式主要应用场景是：需要对一个对象结构中的对象进...]]></description><category></category></item><item><title><![CDATA[命令模式]]></title><link>https://blog.youkuaiyun.com/qq_35306443/article/details/100015699</link><guid>https://blog.youkuaiyun.com/qq_35306443/article/details/100015699</guid><author>qq_35306443</author><pubDate>Thu, 22 Aug 2019 15:38:47 +0800</pubDate><description><![CDATA[基本介绍
1) 命令模式（Command Pattern）：在软件设计中，我们经常需要 向某些对象发送请求，但是并不知道请求的接收者是谁，也不知 道被请求的操作是哪个， 我们只需在程序运行时指定具体的请求接收者即可，此时，可以 使用命令模式来进行设计

2) 命名模式使得请求发送者与请求接收者消除彼此之间的耦合，让 对象之间的调用关系更加灵活，实现解耦。

3) 在命名模式中，会将一个请求封装为一...]]></description><category></category></item><item><title><![CDATA[模板方法模式]]></title><link>https://blog.youkuaiyun.com/qq_35306443/article/details/100014707</link><guid>https://blog.youkuaiyun.com/qq_35306443/article/details/100014707</guid><author>qq_35306443</author><pubDate>Thu, 22 Aug 2019 15:02:53 +0800</pubDate><description><![CDATA[基本介绍
1) 模板方法模式（Template Method Pattern），又叫模板模式(Template Pattern)，在一个抽象类公开定义了执行它的方法的模板。它的子类可以按需要重写方法 实现，但调用将以抽象类中定义的方式进行。

2) 简单说，模板方法模式 定义一个操作中的算法的骨架，而将一些步骤延迟到子 类中，使得子类可以不改变一个算法的结构，就可以重定义该算法的某些特定 步骤
3...]]></description><category></category></item><item><title><![CDATA[代理模式]]></title><link>https://blog.youkuaiyun.com/qq_35306443/article/details/100011944</link><guid>https://blog.youkuaiyun.com/qq_35306443/article/details/100011944</guid><author>qq_35306443</author><pubDate>Thu, 22 Aug 2019 14:31:26 +0800</pubDate><description><![CDATA[代理模式的基本介绍
1) 代理模式：为一个对象提供一个替身，以控制对这个对象的访问。即通过代理 对象访问目标对象.这样做的好处是:可以在目标对象实现的基础上,增强额外的 功能操作,即扩展目标对象的功能。

2) 被代理的对象可以是远程对象、创建开销大的对象或需要安全控制的对象

3) 代理模式有不同的形式, 主要有三种 静态代理、动态代理 (JDK代理、接口代 理)和 Cglib代理 (可以在内存...]]></description><category></category></item><item><title><![CDATA[享元模式]]></title><link>https://blog.youkuaiyun.com/qq_35306443/article/details/100010663</link><guid>https://blog.youkuaiyun.com/qq_35306443/article/details/100010663</guid><author>qq_35306443</author><pubDate>Thu, 22 Aug 2019 11:47:22 +0800</pubDate><description><![CDATA[问题展示：

小型的外包项目，给客户A做一个产品展示网站，客户A的朋友感觉效果不错，也希 望做这样的产品展示网站，但是要求都有些不同：

1) 有客户要求以新闻的形式发布

2) 有客户人要求以博客的形式发布

3) 有客户希望以微信公众号的形式发布

传统方案解决网站展现项目
1) 直接复制粘贴一份，然后根据客户不同要求，进行定制修改 2) 给每个网站租用一个空间



传统方案解决网站展现...]]></description><category></category></item><item><title><![CDATA[外观模式]]></title><link>https://blog.youkuaiyun.com/qq_35306443/article/details/100010071</link><guid>https://blog.youkuaiyun.com/qq_35306443/article/details/100010071</guid><author>qq_35306443</author><pubDate>Thu, 22 Aug 2019 11:00:02 +0800</pubDate><description><![CDATA[1 基本介绍
1) 外观模式（Facade），也叫“过程模式：外观模式为子系统中的一组接口提供 一个一致的界面，此模式定义了一个高层接口，这个接口使得这一子系统更加 容易使用

2) 外观模式通过定义一个一致的接口，用以屏蔽内部子系统的细节，使得调用端 只需跟这个接口发生调用，而无需关心这个子系统的内部细节

2 模式结构




外观模式包含如下两个角色：

Facade（外观角色）：在客户端可...]]></description><category></category></item><item><title><![CDATA[组合模式]]></title><link>https://blog.youkuaiyun.com/qq_35306443/article/details/100009063</link><guid>https://blog.youkuaiyun.com/qq_35306443/article/details/100009063</guid><author>qq_35306443</author><pubDate>Thu, 22 Aug 2019 10:41:10 +0800</pubDate><description><![CDATA[基本介绍
1) 组合模式（Composite Pattern），又叫部分整体模式，它创建了对象组的树形结 构，将对象组合成树状结构以表示“整体-部分”的层次关系。
2) 组合模式依据树形结构来组合对象，用来表示部分以及整体层次。

3) 这种类型的设计模式属于结构型模式。

4) 组合模式使得用户对单个对象和组合对象的访问具有一致性，即：组合能让客 户以一致的方式处理个别对象以及组合对象。



...]]></description><category></category></item><item><title><![CDATA[装饰者模式]]></title><link>https://blog.youkuaiyun.com/qq_35306443/article/details/100008409</link><guid>https://blog.youkuaiyun.com/qq_35306443/article/details/100008409</guid><author>qq_35306443</author><pubDate>Thu, 22 Aug 2019 10:13:11 +0800</pubDate><description><![CDATA[1 什么是装饰模式
装饰者模式动态地将责任附加到对象上。若要扩展功能，装饰者提供了比继承更有弹性的替代方案。和代理模式很相似，但在对被装饰的对象的控制程度是不同的；装饰者模式是对对象功能的加强，而代理模式是对对象施加控制，并不提供对对象本身功能的加强。

通俗点讲，假设现在一杯纯豆浆（Soya）卖1元钱，你可以选择往里边加糖0.5元（Suger)，加蜂蜜0.5元(Honey)，加牛奶1元(Milk...]]></description><category></category></item><item><title><![CDATA[桥接模式]]></title><link>https://blog.youkuaiyun.com/qq_35306443/article/details/99974750</link><guid>https://blog.youkuaiyun.com/qq_35306443/article/details/99974750</guid><author>qq_35306443</author><pubDate>Wed, 21 Aug 2019 16:49:42 +0800</pubDate><description><![CDATA[基本介绍
1) 桥接模式(Bridge模式)是指：将实现与抽象放在两个不同的类层次中，使两个层 次可以独立改变。

 2) 是一种结构型设计模式
 3) Bridge模式基于类的最小设计原则，通过使用封装、聚合及继承等行为让不同 的
类承担不同的职责。它的主要特点是把抽象(Abstraction)与行为实现 (Implementation)分离开来，从而可以
保持各部分的独立性以及应对他们的功能...]]></description><category></category></item><item><title><![CDATA[适配器模式]]></title><link>https://blog.youkuaiyun.com/qq_35306443/article/details/99970213</link><guid>https://blog.youkuaiyun.com/qq_35306443/article/details/99970213</guid><author>qq_35306443</author><pubDate>Wed, 21 Aug 2019 16:39:38 +0800</pubDate><description><![CDATA[适配器其实在我们的生活中是非常常见的，比如说，有的国家的插座都是三孔的，而我们的手机大部分都是两孔的，是没办法直接把充电器插到插座上，这时我们可以使用一个适配器，适配器本身是三孔的，它可以直接插到三孔的插头上，适配器本身可以提供一个两孔的插座，然后我们的手机充电器就可以插到适配器上了，这样我们原本只能插到两孔上的插头就能用三孔的插座了。


适配器模式(Adapter Pattern)：将一个接...]]></description><category></category></item><item><title><![CDATA[建造者模式]]></title><link>https://blog.youkuaiyun.com/qq_35306443/article/details/99965834</link><guid>https://blog.youkuaiyun.com/qq_35306443/article/details/99965834</guid><author>qq_35306443</author><pubDate>Wed, 21 Aug 2019 15:57:04 +0800</pubDate><description><![CDATA[盖房项目需求
1) 需要建房子：这一过程为打桩、砌墙、封顶

2) 房子有各种各样的，比如普通房，高楼，别墅，各种房子的过程虽然一样，但是 要求不要相同的.


public abstract class AbstractHouse {
	
	
	public abstract void buildBasic();
	
	public abstract void buildWalls();

	...]]></description><category></category></item></channel></rss>