Design Pattern
文章平均质量分 71
介绍设计模式的原理、优缺点和常见应用场景,并以 Java 语言为例实现设计模式,完整 Java 代码示例见 https://github.com/lzx2011/java-scaffold
gary-liu
Like technology, like recording life. Since I went to a foreign company, I have to use English to quickly integrate it. WeChat Offical account: gary_foreign
展开
-
设计模式——模板模式
定义在模板模式(Template Pattern)中,一个抽象类公开定义了执行它的方法的方式/模板。它的子类可以按需要重写方法实现,但调用将以抽象类中定义的方式进行。这种类型的设计模式属于行为型模式。使用场景当一个操作有固定的几个步骤时,可以把步骤抽象出来定义的父类的抽象类中,而用子类去具体的实现每个步骤。模板模式也常和其他模式联合使用,比如可以和责任链模式联合,责任链中的每个具体类可以是抽象模板类的具体实现。类图图片来自 https://www.cnblogs.com/qq-3618075原创 2021-01-07 13:45:03 · 151 阅读 · 1 评论 -
设计模式——单例模式
定义单例模式(Singleton Pattern):确保某一个类只有一个实例,而且自行实例化并向整个系统提供这个实例,这个类称为单例类,它提供全局访问的方法。饿汉式单例/* * 饿汉式单例 */public class Singleton { private static final Singleton instance = new Singleton(); //禁止类的外部直接原创 2016-10-05 17:35:28 · 767 阅读 · 0 评论 -
Java设计模式之工厂模式(简单工厂、工厂方法、抽象工厂)
/*** 简单工厂模式:不直接产生对象,而由一个具体的工厂类统一产生对象。这样不利于增加新的产品。** 工厂方法模式:一个抽象的工厂类可以派生出多个具体的工厂类来负责产生各个产品的对象。(大话设计模式中是用一个具体工厂类,把负责生成某一产品对象封装为具体工厂类的一个函数)* 这样在产生对象时相互独立,更符合开放闭合原则。* 抽象工厂模式:有多个抽象原创 2014-05-14 13:53:27 · 1411 阅读 · 0 评论 -
设计模式——责任链模式
模式介绍责任链模式是一种对象的行为模式。在责任链模式里,很多对象由每一个对象对其下家的引用而连接起来形成一条链。请求在这个链上传递,直到链上的某一个对象决定处理此请求。发出这个请求的客户端并不知道链上的哪一个对象最终处理这个请求,这使得系统可以在不影响客户端的情况下动态地重新组织和分配责任。模式的优缺点优点1.因为客户端的请求不知道会被哪个对象处理,所以系统的更改可以在不影响客户端的情况下动态的重新原创 2017-03-12 13:56:24 · 706 阅读 · 0 评论 -
Java多线程——生产者和消费者模式
生产者消费者模式生产者和消费者模式是一种并发设计模式,生产者消费者模式解决的是两者速率不一致而产生的阻抗不匹配,该模式通过平衡生产线程和消费线程的工作能力来提高程序的整体处理数据的速度。生产者消费者模式是通过一个容器来解决生产者和消费者的强耦合问题。生产者和消费者彼此之间不直接通讯,而通过阻塞队列来进行通讯,所以生产者生产完数据之后不用等待消费者处理,直接扔给阻塞队列,消费者不找生产者要数据,而是直原创 2017-03-18 01:42:19 · 2535 阅读 · 0 评论 -
设计模式——代理模式
模式介绍代理模式:为其他对象提供一种代理以控制对这个对象的访问。 代理模式(Proxy)是一种结构型设计模式,主要解决的问题是:在直接访问对象时带来的问题. 分类静态代理:代理类是在编译时就实现好的。也就是说 Java 编译完成后代理类是一个实际的 class 文件。动态代理:代理类是在运行时生成的。也就是说 Java 编译完之后并没有实际的 class 文件,而是在运行时动态生成的类字节码,原创 2017-05-23 23:32:34 · 709 阅读 · 0 评论 -
Java——回调机制
按调用方式分为:同步调用:类A的方法a()调用类B的方法b(),一直等待b()方法执行完毕,a()方法继续往下走。这种调用方式适用于方法b()执行时间不长的情况,因为b()方法执行时间一长或者直接阻塞的话,a()方法的余下代码是无法执行下去的,这样会造成整个流程的阻塞。异步调用:类A的方法方法a()通过新起线程的方式调用类B的方法b(),代码接着直接往下执行。回调:包括同步回调和异步回调。类原创 2017-06-03 19:03:09 · 765 阅读 · 0 评论 -
设计模式——观察者模式
观察者模式模式结构模式涉及角色模式结构图示例代码实现运行结果应用场景观察者模式观察者模式定义了一种一对多的依赖关系,让多个观察者对象同时监听某一个主题对象。这个主题对象在状态上发生变化时,会通知所有观察者对象,使它们能够自动更新自己。观察者模式是对象的行为模式,又叫发布-订阅(Publish/Subscribe)模式、模型-视图(Model/View)模式、源-监听器(Source/L原创 2017-06-04 13:22:16 · 760 阅读 · 0 评论