自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(29)
  • 收藏
  • 关注

原创 利用Python3实现终端百度和谷歌翻译

利用Python3实现终端百度和谷歌翻译1. Python调用Google翻译最开始发现Google翻译居然用的Get方式请求的翻译数据,还暗自高兴了一波,这不简单吗?直接拼字符串就可以翻译了,还是我太天真

2018-11-30 23:19:43 1318 1

原创 Mac安装virtualenv和virtualenvwrapper

我们常常要在不同的Python程序中使用不同的Python依赖包,如果我们都将这些依赖包安装到电脑默认的位置下,将导致环境混乱,这个时候,我们可以安装一个Python的VirtualEnv来解决开发环境隔离等问题。1.安装virtualenv直接通过pip安装python3 -m pip install virtualenv2.安装virtualenvwrapperpython3 -m...

2018-11-29 21:00:29 2076

原创 命令模式

命令模式(Command)命令模式是行为模式之一,Command模式通过被称为Command的类封装了对目标对象的调用行为以及调用参数1. 命令模式中的角色及其职责1.1 Command是一个抽象类,类中对需要执行的命令进行声明,一般来说要对外公布一个execute方法用来执行命令。Commandpackage com.liuyao;/** * @author liuyao...

2018-11-10 20:20:33 110

原创 访问者模式

访问者模式(Visitor)访问者模式是行为模式之一,它分离对象的数据和行为,使用Visitor模式,可以不修改已有类的情况下,增加新的操作。1. 访问者模式中的角色及其职责1.1 访问者角色(Visitor)为该对象结构中具体元素角色声明一个访问操作接口。该操作接口的名字和参数标识了发送访问请求给具体访问者的具体元素角色。这样访问者就可以通过该元素角色的特定接口直接访问它。Vis...

2018-11-10 20:20:04 115

原创 状态模式

状态模式(State)状态模式是行为模式之一,状态模式允许通过改变对象的内部状态而改变对象的行为,这个对象表现得就好像修改了它的类一样。1. 状态模式中角色及其职责1.1 用户对象(Context)拥有一个State类型的成员,以标识对象的当前状态Mainpackage com.liuyao;import java.util.HashMap;import java.util...

2018-11-10 20:19:29 117

原创 模板方法模式

模板方法模式(Template Method)模板方法模式是行为模式之一,它把具体特定步骤算法中的某些必要的处理委让给抽象方法,通过子类继承对抽象方法的不同实现改变整个算法的行为。1. 模板方法中的角色及其职责1.1 Abstract Class抽象类MakeCarpackage com.liuyao;/** * @author liuyao * @date 2018/0...

2018-11-10 20:18:58 140

原创 备忘录模式

备忘录模式(Memento)备忘录模式是行为模式之一,它的作用是保存对象的内部状态,并在需要的时候(undo/rollback)恢复对象以前的状态。1. 备忘录模式中的角色及其职责1.1 原生者(Originator)需要被保存状态以便恢复的那个对象Personpackage com.liuyao;/** * @author liuyao * @date 2018/08/...

2018-11-10 20:18:19 147

原创 中介者模式

中介者模式(Mediator)中介者模式是行为模式之一,在中介者模式中,类之间的交互行为被统一放在中介者的对象中,对象通过中介者对象同其他对象交互,中介者对象起着控制器的作用。1. 中介者模式中的角色及其职责1.1 Mediator中介者类的抽象父类AbstractMediatorpackage com.liuyao;/** * @author liuyao * @dat...

2018-11-09 09:47:05 125

原创 责任链模式

责任链模式(Chain of Responsibility)责任链模式是行为模式之一,该模式构造一系列分别担当不同的职责的类的对象来共同完成一个任务,这些累的额对象之间像链条一样紧密相连,所以称为责任链模式。1. 责任链模式的基本条件对象链的组织。需要将某任务的所有职责执行对象以链的形式加以组织消息或请求的传递。将消息或请求沿着对象链传递,让处于对象链中的对象得到处理机会。处于对象...

2018-11-09 09:46:30 189

原创 迭代模式

迭代模式(Iterator)迭代模式是行为模式之一,他把对容器中包含的内部对象的访问委让给外部类,使用Iterator按顺序进行遍历访问的设计模式。不使用迭代模式存在的问题:由容器自己实现顺序遍历。直接在容器类里直接添加顺序遍历方法。(容器类承担了太多功能:一方面需要提供添加删除等本身应有的功能;一方面还需要提供遍历访问功能)让调用者自己实现遍历。直接暴露数据细节给外部。(往往容器在遍...

2018-11-09 09:45:53 408

原创 解释器模式

解释器模式(Interpreter)解释器模式行为模式之一,它是一种特殊的设计模式,它建立一个解释器,对于特定的计算机程序设计语言,用来解释预先定义的文法。即解释器模式是一种简单的语法解释器构架。1. 解释器模式中的角色及其职责1.1 Context解释器上下文环境类,用来存储解释器的上下文环境,比如需要解释的文法等。Contextpackage com.liuyao;/**...

2018-11-09 09:45:27 300

原创 组合模式

组合模式(Composite)组合模式是构造型的设计模式之一。通过递归手段来构造树形的对象结构,并可以通过一个对象来访问整个对象树。1. 组合模式中的角色及其职责1.1 树型结构的节点抽象(Component)为所有的对象定义统一的接口(公共属性,行为等的定义)提供管理子节点对象的接口方法提供管理父节点对象的接口方法(可选)IFilepackage com.liuyao;...

2018-11-09 09:44:50 117

原创 外观模式

外观模式(Facade)外观模式为一组具有类似功能的类群,比如类库,子系统等等,提供一个一致的简单的界面。这个一致的简单的界面称作外观(facade)1. 外观模式的角色及其职责1.1 外观(Facade)为调用方定义简单的调用接口Facadepackage com.liuyao;/** * @author liuyao * @date 2018/08/02 */pub...

2018-11-09 09:44:12 122

原创 适配器模式

适配器模式(Adapter)适配器模式是构造型模式之一,通过适配器模式可以改变已有类(或外部类)的接口形式1. 适配器模式中的角色及其职责1.1 目标接口客户端使用的接口Targetpackage com.liuyao;/** * @author liuyao * @date 2018/08/03 */public interface Target { publ...

2018-11-09 09:43:34 116

原创 桥接模式

桥接模式桥接模式是构造型的设计模式之一,基于类的最小设计原则,通过使用封装,聚合以及继承等行为来让不同的类承担不同的责任。它的主要特点是抽象与行为实现分离开来,从而可以保持各部分的独立性以及应对它们的功能扩展。1. 桥接模式中的角色及其职责1.1 Client桥接模式的使用者就是后面使用的Main类1.2 Abstraction维护对行为实现(Implementor)的引用C...

2018-11-09 09:43:05 123

原创 享元模式

享元模式(Flyweight)享元模式是构造型模式之一,它通过与其他类似对象共享数据来减小内存占用1. 享元模式的角色及其职责1.1 抽象享元角色所有具体享元类的父类,规定一些需要实现的公共接口Personpackage com.liuyao;/** * @author liuyao * @date 2018/08/01 */public class Person {...

2018-11-09 09:42:31 108

原创 代理模式

代理模式(Proxy)代理模式是构造型的设计模式之一。他可以为其他对象提供一种代理(Proxy)以控制对这个对象的访问。所谓代理,是指具有与代理元(被代理的对象)具有相同的接口的类,客户端必须通过代理与被代理的目标类交互,而代理一般在交互的过程中(交互前后),进行某些特别的处理。1. 代理模式中的角色及其职责1.1 抽象主题(Subject)真实主题与代理主题共同的接口Subjec...

2018-11-09 09:41:56 130

原创 观察者模式

观察者模式(Observer)观察者模式是行为模式之一,它的作用是当一个对象的状态发生变化时,能够自动通知其他关联对象,自动刷新对象状态。观察者模式提供给关联对象一种同步通信的手段,使某个对象与依赖它的其他对象之间保存状态同步。1. 观察者模式的角色及其职责1.1 被观察者(Subject)被观察的对象,被观察者的状态发生变化时,需要通知队列中所有观察者对象。Subject需要维持(...

2018-11-06 17:01:42 163

原创 装饰器模式

装饰器模式(Decorator)装饰模式又叫做包装模式。通过一种对客户端透明的方式来扩展对象的功能,是继承关系的一个替换方案。1. 装饰模式中的角色和及其职责1.1 抽象组件角色一个抽象接口,是**被装饰类(RunCar)和装饰类(CarDecorator)**的父接口Carpackage com.liuyao;/** * @author liuyao * @date 20...

2018-11-06 17:01:12 114

原创 策略模式

策略模式(Strategy)策略模式是行为模式之一,它对一系列的算法加以封装,为所有算法定义一个抽象的算法接口,并通过继承该抽象算法接口对所有算法加以封装和实现,具体的算法选择交给客户端决定。策略模式主要用来平滑地处理算法的切换。1. 策略模式的角色及其职责1.1 策略(Strategy)策略(算法)的抽象。Encryptpackage com.liuyao;/** * @a...

2018-11-06 16:59:58 104

原创 建造者模式

建造者模式(Builder)Builder模式是一种对象创建型模式,又叫生成器模式,用来隐藏符合对象的创建过程,它把复合对象的创建过程加以抽象,通过子类继承和重载的方式,动态的创建具有符合属性的对象。1. 模式中包含的角色及其职责1.1 产品(Product)最后客户端需要获得的产品Productpackage com.liuyao;import lombok.Data;i...

2018-11-06 16:59:18 137

原创 原型模式

原型模式原型模式是一种对象创建型模式,它采用复制原型对象的方法来创建对象的实例。使用Prototype模式创建的实例,具有与原型一样的数据。1. 原型模式的特点由原型对象自身创建目标对象。也就是对象创建这一动作发自原型对象本身。目标对象是原型对象的一个克隆。也就是说,通过prototype模式创建的对象,不仅与原对象具有相同的结构,还与原型对象具有相同的值。根据对象克隆深度层次的不...

2018-11-06 16:58:39 172

原创 简单工厂模式

简单工厂模式(SimpleFactory)简单工厂模式属于类的创建型模式,又叫静态工厂方法模式,通过专门定义的一个类来负责创建其他类的实例,被创建出来的类通常具有共同的父类。1. 模式中包含的角色及其职责1.1 工厂(Creator)简单工厂模式的核心,它负责实现创建所有实例的内部逻辑,工厂类可以被外界直接调用,创建所需的产品对象AnimalFactorypackage com.l...

2018-11-06 16:57:34 115

原创 抽象工厂模式

抽象工厂模式抽象工厂模式是所有形态的工厂模式中最为抽象和最具一般性的,抽象工厂模式可以向客户端提供一个接口,使得客户端再不必指定产品的具体类型的情况下,能够创建多个产品族的产品对象1. 模式中包含的角色及其职责1.1 抽象工厂(Creator)抽象工厂模式的核心,包含对多个产品结构的声明,任何工厂类都必须实现这个接口AnimalFactorypackage com.liuyao;...

2018-11-06 16:56:54 110

原创 工厂方法模式

工厂方法模式工厂方法模式同样属于类的创建型模式,又被成为多态工厂模式。工厂方法模式的意义是定义一个创建产品对象的工厂接口,将实际创建工作推迟到子类当中。核心工厂类不再负责产品的创建,这样核心类成为一个抽象工厂角色,仅负责具体工厂子类必须实现的接口,这样抽象的好处是可以使得系统在不修改工厂角色的情况下引进新的产品。1. 模式中包含的角色及其职责1.1 抽象工厂(Creator)工厂方法模...

2018-11-06 16:56:01 137

原创 单例模式

单例模式的七种写法Ensure a class has only one instance,and provide a global point of access to it.确保某一个类只有一个实例,并且自行实例化并向整个系统提供这个实例**优点:单例模式内存中只有一个实例,减少了内存开支,特别是一个对象需要频繁的创建、销毁时,而且创建或销毁的性能又无法优化。单例的优势就很明显了...

2018-11-06 16:54:18 112

原创 六大设计原则

六大设计原则1.单一职责原则 SRP (Single Responsibility Principle)定义应该有且仅有一个原因引起类或接口的变更,类和接口只有一个职责,它就负责一件事好处类的复杂性降低,实现什么职责都有清晰明确的定义可读性提高了,复杂性降低了可维护性提高变更引起的风险降低建议:接口一定要做到单一职责,类的设计尽量做到只有一个原因引起变化。2.里氏替换原则 ...

2018-11-06 16:50:53 107

原创 MySQL-数据库范式

数据库范式范式:是“符合某一种级别的关系模式的集合,表示一个关系内部各属性之间的联系的合理化程度" 简单来说可以把它粗略的理解为一张数据表的表结构所符合的某种设计标准的级别。满足这些规范的数据库是简洁的,结构明晰的,同时不会发生插入,删除和更新操作异常。数据库范式分为1NF,2NF,3NF,BCNF,4NF,5NF,一般我们在设计数据库结构的时候最多只要满足到BCNF就可以了,符合高一级别的...

2018-11-04 16:53:23 387

原创 深入学习Java线程池

深入学习Java线程池先来看一下大体的架构:先从最开始的开始吧,我们平时提交的任务都是 Runnable 类型的,可以看到 Executor 里面的 execute 方法就是接受一个Runnable类的参数故我们平时可以直接实现Executor接口:下面这种是线程池同步的执行每一个任务:public class DirectExecutor implements Executor {...

2018-11-02 14:41:03 1293

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除