<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[puppet113的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/puppet113</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; puppet113]]></copyright><item><title><![CDATA[设计模式 学习笔记10 外观]]></title><link>https://blog.youkuaiyun.com/puppet113/article/details/108280996</link><guid>https://blog.youkuaiyun.com/puppet113/article/details/108280996</guid><author>puppet113</author><pubDate>Fri, 28 Aug 2020 15:42:20 +0800</pubDate><description><![CDATA[设计模式 外观模式



外观（Facade）模式的定义：是一种通过为多个复杂的子系统提供一个一致的接口，而使这些子系统更加容易被访问的模式。该模式对外有一个统一接口，外部应用程序不用关心内部子系统的具体的细节，这样会大大降低应用程序的复杂度，提高了程序的可维护性。



在层次化结构中，可以使用外观模式定义系统中每一层的入口。

1、为复杂的模块或子系统提供外界访问的模块。 2、子系统相对独立。 3、预防低水平人员带来的风险。



public class Facade {

 privat...]]></description><category></category></item><item><title><![CDATA[设计模式 学习笔记9 装饰]]></title><link>https://blog.youkuaiyun.com/puppet113/article/details/108276191</link><guid>https://blog.youkuaiyun.com/puppet113/article/details/108276191</guid><author>puppet113</author><pubDate>Fri, 28 Aug 2020 11:19:21 +0800</pubDate><description><![CDATA[设计模式 装饰模式



装饰（Decorator）模式的定义：指在不改变现有对象结构的情况下，动态地给该对象增加一些职责（即增加其额外功能）的模式，它属于对象结构型模式。



public class Decorator implements Component {



 private Component component;



 public Decorator(Component component) {

 this.component = compo...]]></description><category></category></item><item><title><![CDATA[设计模式 学习笔记8 桥接]]></title><link>https://blog.youkuaiyun.com/puppet113/article/details/108257116</link><guid>https://blog.youkuaiyun.com/puppet113/article/details/108257116</guid><author>puppet113</author><pubDate>Thu, 27 Aug 2020 12:06:15 +0800</pubDate><description><![CDATA[设计模式 桥接模式



桥接（Bridge）模式的定义如下：将抽象与实现分离，使它们可以独立变化。它是用组合关系代替继承关系来实现，从而降低了抽象和实现这两个可变维度的耦合度。



public class Bridge extends Abstraction{



 public Bridge(Implementor impl) {

 super(impl);

 }



 @Override

 public void Operation() {
...]]></description><category></category></item><item><title><![CDATA[设计模式 学习笔记7 适配器]]></title><link>https://blog.youkuaiyun.com/puppet113/article/details/108254657</link><guid>https://blog.youkuaiyun.com/puppet113/article/details/108254657</guid><author>puppet113</author><pubDate>Thu, 27 Aug 2020 10:32:01 +0800</pubDate><description><![CDATA[设计模式 适配器模式



适配器模式（Adapter）的定义如下：将一个类的接口转换成客户希望的另外一个接口，使得原本由于接口不兼容而不能一起工作的那些类能一起工作。适配器模式分为类结构型模式和对象结构型模式两种，前者类之间的耦合度比后者高，且要求程序员了解现有组件库中的相关组件的内部结构，所以应用相对较少些。



有动机地修改一个正常运行的系统的接口，这时应该考虑使用适配器模式。

适配器不是在详细设计时添加的，而是解决正在服役的项目的问题。



类/对象适配器模式

public class...]]></description><category></category></item><item><title><![CDATA[设计模式 学习笔记6 代理]]></title><link>https://blog.youkuaiyun.com/puppet113/article/details/108237238</link><guid>https://blog.youkuaiyun.com/puppet113/article/details/108237238</guid><author>puppet113</author><pubDate>Wed, 26 Aug 2020 11:55:16 +0800</pubDate><description><![CDATA[设计模式 代理模式



代理模式的定义：由于某些原因需要给某对象提供一个代理以控制对该对象的访问。这时，访问对象不适合或者不能直接引用目标对象，代理对象作为访问对象和目标对象之间的中介。



代理模式的结构比较简单，主要是通过定义一个继承抽象主题的代理来包含真实主题，从而实现对真实主题的访问，下面来分析其基本结构和实现方法。



public class Proxy implements Subject{



 private RealSubject realSubject;

...]]></description><category></category></item><item><title><![CDATA[设计模式 学习笔记5 建造者]]></title><link>https://blog.youkuaiyun.com/puppet113/article/details/108219993</link><guid>https://blog.youkuaiyun.com/puppet113/article/details/108219993</guid><author>puppet113</author><pubDate>Tue, 25 Aug 2020 14:07:54 +0800</pubDate><description><![CDATA[设计模式 建造者模式



建造者（Builder）模式的定义：指将一个复杂对象的构造与它的表示分离，使同样的构建过程可以创建不同的表示，这样的设计模式被称为建造者模式。它是将一个复杂的对象分解为多个简单的对象，然后一步一步构建而成。它将变与不变相分离，即产品的组成部分是不变的，但每一部分是可以灵活选择的。



建造者模式和工厂模式的关注点不同：建造者模式注重零部件的组装过程，而工厂方法模式更注重零部件的创建过程，但两者可以结合使用。



public class Builder {



...]]></description><category></category></item><item><title><![CDATA[设计模式 学习笔记4 抽象工厂]]></title><link>https://blog.youkuaiyun.com/puppet113/article/details/108218351</link><guid>https://blog.youkuaiyun.com/puppet113/article/details/108218351</guid><author>puppet113</author><pubDate>Tue, 25 Aug 2020 11:42:40 +0800</pubDate><description><![CDATA[设计模式 抽象工厂模式



抽象工厂（AbstractFactory）模式的定义：是一种为访问类提供一个创建一组相关或相互依赖对象的接口，且访问类无须指定所要产品的具体类就能得到同族的不同等级的产品的模式结构。



在抽象工厂模式中，接口是负责创建一个相关对象的工厂，不需要显式指定它们的类。每个生成的工厂都能按照工厂模式提供对象。



public class AbstractFactory {



 public static Factory createFactory(Class&...]]></description><category></category></item><item><title><![CDATA[设计模式 学习笔记 七条原则]]></title><link>https://blog.youkuaiyun.com/puppet113/article/details/108199868</link><guid>https://blog.youkuaiyun.com/puppet113/article/details/108199868</guid><author>puppet113</author><pubDate>Mon, 24 Aug 2020 15:15:06 +0800</pubDate><description><![CDATA[1开闭原则

软件实体应当对扩展开放，对修改关闭（Software entities should be open for extension，but closed for modification），这就是开闭原则的经典定义。



这里的软件实体包括以下几个部分：

项目中划分出的模块

类与接口

方法



开闭原则的含义是：当应用的需求改变时，在不修改软件实体的源代码或者二进制代码的前提下，可以扩展模块的功能，使其满足新的需求。



2里氏替换原则

继承必须确保超类所拥有的性质在子类中仍...]]></description><category></category></item><item><title><![CDATA[设计模式 学习笔记3 工厂方法]]></title><link>https://blog.youkuaiyun.com/puppet113/article/details/108143718</link><guid>https://blog.youkuaiyun.com/puppet113/article/details/108143718</guid><author>puppet113</author><pubDate>Fri, 21 Aug 2020 11:25:07 +0800</pubDate><description><![CDATA[设计模式 工厂方法模式



工厂方法（FactoryMethod）模式的定义：定义一个创建产品对象的工厂接口，将产品对象的实际创建工作推迟到具体子工厂类当中。这满足创建型模式中所要求的“创建与使用相分离”的特点。



作为一种创建类模式，在任何需要生成复杂对象的地方，都可以使用工厂方法模式。有一点需要注意的地方就是复杂对象适合使用工厂模式，而简单对象，特别是只需要通过 new 就可以完成创建的对象，无需使用工厂模式。如果使用工厂模式，就需要引入一个工厂类，会增加系统的复杂度。



public ...]]></description><category></category></item><item><title><![CDATA[设计模式 学习笔记2 原型]]></title><link>https://blog.youkuaiyun.com/puppet113/article/details/108119119</link><guid>https://blog.youkuaiyun.com/puppet113/article/details/108119119</guid><author>puppet113</author><pubDate>Thu, 20 Aug 2020 10:56:14 +0800</pubDate><description><![CDATA[设计模式 原型模式



原型（Prototype）模式的定义：用一个已经创建的实例作为原型，通过复制该原型对象来创建一个和原型相同或相似的新对象。在这里，原型实例指定了要创建的对象的种类。用这种方式创建对象非常高效，根本无须知道对象创建的细节。



原型模式包含以下主要角色。

抽象原型类：规定了具体原型对象必须实现的接口。

具体原型类：实现抽象原型类的 clone() 方法，它是可被复制的对象。

访问类：使用具体原型类中的 clone() 方法来复制新的对象。



原型模式的克隆分为浅克隆...]]></description><category></category></item><item><title><![CDATA[设计模式 学习笔记1 单例]]></title><link>https://blog.youkuaiyun.com/puppet113/article/details/108101008</link><guid>https://blog.youkuaiyun.com/puppet113/article/details/108101008</guid><author>puppet113</author><pubDate>Wed, 19 Aug 2020 14:59:30 +0800</pubDate><description><![CDATA[设计模式 单例



单例（Singleton）模式的定义：指一个类只有一个实例，且该类能自行创建这个实例的一种模式。



单例模式有 3 个特点：

单例类只有一个实例对象；

该单例对象必须由单例类自行创建；

单例类对外提供一个访问该单例的全局访问点；



有两种实现形式



第一种 懒汉式单例

该模式的特点是类加载时没有生成单例，只有当第一次调用 getlnstance 方法时才去创建这个单例。

public class LazySingleton {

 private s...]]></description><category></category></item><item><title><![CDATA[设计模式 学习笔记 前言]]></title><link>https://blog.youkuaiyun.com/puppet113/article/details/107635713</link><guid>https://blog.youkuaiyun.com/puppet113/article/details/107635713</guid><author>puppet113</author><pubDate>Tue, 28 Jul 2020 14:45:44 +0800</pubDate><description><![CDATA[文章出自《设计模式：可复用面向对象软件的基础》



23 种设计模式

创建型模式：用于描述“怎样创建对象”，它的主要特点是“将对象的创建与使用分离”。
	结构型模式：用于描述如何将类或对象按某种布局组成更大的结构。
	行为型模式：用于描述类或对象之间怎样相互协作共同完成单个对象都无法单独完成的任务，以及怎样分配职责。



			范围\目的
			
			
			创建型模式
			
			
			结构型模式
			
			
			行为型模式
			
		
			类模式
			
			
			工厂方法..]]></description><category></category></item><item><title><![CDATA[Redis 学习笔记2]]></title><link>https://blog.youkuaiyun.com/puppet113/article/details/106213126</link><guid>https://blog.youkuaiyun.com/puppet113/article/details/106213126</guid><author>puppet113</author><pubDate>Tue, 19 May 2020 13:56:21 +0800</pubDate><description><![CDATA[springCache+redis



application.properties文件



#redis配置同学习一



#cache配置缓存相关

cache.default.expire-time=200

cache.expire-time=180

cache.cacheName=test



RedisCacheConfig.java





@Configuration

@EnableCaching

publicclassRedisCacheConfig{

...]]></description><category></category></item><item><title><![CDATA[Redis 学习笔记1]]></title><link>https://blog.youkuaiyun.com/puppet113/article/details/106140376</link><guid>https://blog.youkuaiyun.com/puppet113/article/details/106140376</guid><author>puppet113</author><pubDate>Fri, 15 May 2020 13:47:54 +0800</pubDate><description><![CDATA[安装

去官网下载一个版本，解压，配置环境变量，不过多介绍。

我下的windows版本，运行时写了一个bat启动





项目配置

Pom.xml 文件



&lt;dependencies&gt;

&lt;dependency&gt;

&lt;groupId&gt;org.springframework.boot&lt;/groupId&gt;

&lt;artifactId&gt;spring-boot-starter-data-redis&lt;/artifactId&gt;

&lt..]]></description><category></category></item><item><title><![CDATA[Linux 学习笔记3]]></title><link>https://blog.youkuaiyun.com/puppet113/article/details/87087265</link><guid>https://blog.youkuaiyun.com/puppet113/article/details/87087265</guid><author>puppet113</author><pubDate>Tue, 12 Feb 2019 14:17:57 +0800</pubDate><description><![CDATA[用户和用户组

 

cat /etc/group 存储当前系统中所有用户组信息

Group :        x     :   123  :  asd,zxc,qwe
	组名称: 组密码占位符 : 组编号 : 组中用户名列表
cat /etc/gshadow 存储当前系统中用户组的密码信息

Group :    *   :          :   asd,zxc,qwe
	组名称: 组密...]]></description><category></category></item><item><title><![CDATA[Linux 学习笔记2]]></title><link>https://blog.youkuaiyun.com/puppet113/article/details/87087067</link><guid>https://blog.youkuaiyun.com/puppet113/article/details/87087067</guid><author>puppet113</author><pubDate>Tue, 12 Feb 2019 14:16:16 +0800</pubDate><description><![CDATA[vim的使用

vim是vi的升级版本

u 撤销，支持多级撤销
	可以卡跨平台运行
	支持语法高亮
	图形化界面
 

操作模式分为

-command mode 命令模式

-insert mode 输入模式

-last line mode 底行模式（尾行，末行）

 

vim 文件名 （进入到文本编辑，如果文件不存在则创建）

vim + 文件名（光标定位到最后一行）

vim +3 文...]]></description><category></category></item><item><title><![CDATA[Linux 学习笔记1]]></title><link>https://blog.youkuaiyun.com/puppet113/article/details/80858551</link><guid>https://blog.youkuaiyun.com/puppet113/article/details/80858551</guid><author>puppet113</author><pubDate>Fri, 29 Jun 2018 16:27:01 +0800</pubDate><description><![CDATA[- 文件d 目录l 软连接ls 查看目录   -l目录详情   -a所有包括隐藏文件，隐藏文件以.开头   -h拟人化   -d显示目录名   -i文件索引号   等等 mkdir 创建文件目录   -p递归创建 cd    ~ 回到用户家目录   - 进入上次目录   ..上级目录 rmdir 删除空目录 rm 直接删除文件   -r 删除目录  -f 强制删除 cp 复制   -r 递归复制 ...]]></description><category></category></item></channel></rss>