详解command设计模式,解耦操作和回滚

大家好,欢迎来到设计模式专题,我们的主旨是介绍一些有趣好玩的设计模式。 今天我们介绍的设计模式叫做命令模式(command),在这个模式下,我们可以实现do和undo的解耦,让使用方不用关心内部的实现细节。 command模式 这个模式我们在日常当中经常使用,举一个很简单的例子,比如说我们发布代码。 ... »

Java-JDK动态代理(AOP)使用及实现原理分析

Java-JDK动态代理(AOP)使用及实现原理分析 第一章:代理的介绍 介绍:我们需要掌握的程度 动态代理(理解) 基于反射机制 掌握的程度: 1.什么是动态代理? 2.动态代理能够做什么? 后面我们在用Spirng和Mybatis的时候,要理解怎么使用的. 1.什么是代理? 代理,在我们日常生活 ... »

从抽象类开始,详解责任链模式

大家好,欢迎大家阅读设计模式专题。 今天我们继续介绍新的设计模式,和上次的链式模式不同,这一次要介绍的责任链模式不仅仅在Python当中有,在很多其他的语言当中同样支持,比如Java。Python和Java当中的这个设计模式是完全一样的,没有任何区别。 和之前介绍的设计模式相比,今天介绍的设计模式同 ... »

TypeScript实现设计模式——生成器模式

生成器模式是一种在TypeScript/JavaScript中非常常见的创建型设计模式,它使你能够分步骤创建复杂对象。当你需要创建一个可能有许多配置选项的对象时, 该模式会特别有用。 ... »

面试官看完我手写的单例直接惊呆了!

前言 单例模式应该算是 23 种设计模式中,最常见最容易考察的知识点了。经常会有面试官让手写单例模式,别到时候傻乎乎的说我不会。 之前,我有介绍过单例模式的几种常见写法。还不知道的,传送门看这里: 设计模式之单例模式 本篇文章将展开一些不太容易想到的问题。带着你思考一下,传统的单例模式有哪些问题,并 ... »

设计模式六大原则详解

引言 对于设计模式,自己很早之前就看了好多本设计模式书籍,其中一些还看了好几遍,也一直希望自己能在编码的时候把这些设计模式用上去。可是,在日常的打码中,用的做多的就是单例,其次是观察者和建造者模式 ( builder ) 用得比较多,其他的基本很少用到。 用不到的原因是还是不能够理解设计模式的思想, ... »

深入浅出系列第一篇(设计模式之单一职责原则)—— 从纯小白到Java开发的坎坷经历

各位看官大大们,晚上好。好久不见,我想死你们了... 先说说写这个系列文章的背景: 工作了这么久了,每天都忙着写业务,好久没有好好静下心来好好总结总结了。正好这段时间公司组织设计模式的分享分,所以我才有机会在这里和大家唠唠嗑。 也许因为自己是小白自学的吧,所以磕磕绊绊走了好多弯路。所以我深刻的理解到 ... »

深入浅出系列第一篇(设计模式之单一职责原则)—— 从纯小白到Java开发的坎坷经历

各位看官大大们,晚上好。好久不见,我想死你们了... 先说说写这个系列文章的背景: 工作了这么久了,每天都忙着写业务,好久没有好好静下心来好好总结总结了。正好这段时间公司组织设计模式的分享分,所以我才有机会在这里和大家唠唠嗑。 也许因为自己是小白自学的吧,所以磕磕绊绊走了好多弯路。所以我深刻的理解到 ... »

深入浅出系列第一篇(设计模式之单一职责原则)——从纯小白到Java开发的坎坷经历

各位看官大大们,晚上好。好久不见,我想死你们了... 先说说写这个系列文章的背景: 工作了这么久了,每天都忙着写业务,好久没有好好静下心来好好总结总结了。正好这段时间公司组织设计模式的分享分,所以我才有机会在这里和大家唠唠嗑。 也许因为自己是小白自学的吧,所以磕磕绊绊走了好多弯路。所以我深刻的理解到 ... »

设计模式——模版方法模式

模版方法模式(Template Method Pattern):用于定义一个操作中算法的骨架,而将一些步骤延迟到子类中。 模版方法模式使得子类可以不改变一个算法的结构及可重定义该算法的某些特定步骤。 简而言之:模版方法模式功能在于固定算法骨架,而让具体算法实现可扩展。 ... »

设计模式之过滤器模式

博主上次分析完cas客户端源码后,发现了其实就是一个过滤器模式,对请求以及session一直做校验,每个过滤器都有各自的工作,互不影响耦合性低,所以就模仿其源码,做了一次过滤器模式的学习,图示如下 其实过滤器整个类可以不用,只不过在jetty中,过滤器整合类不知有过滤器还有其他属性,比如config ... »

单例模式

前言 单例模式应该是所有接触的设计模式初学者第一个听过的设计模式,这个模式应该是所有设计模式中最简单的一个模式了。值得注意的是,许多开发者将单例模式视为一种反模式,因此单例模式在 Python 中的使用频率现在越来越少了。 反模式(英文:Anti-patterns或pitfalls), 是指用来解决 ... »

【设计模式】前言

本专栏内容均引用《大话设计模式》并做适当修改, 起因 有部分计算机专业的学生或有一定经验的在职开发者,他们都知道类、方法、构造方法、甚至抽象类、接口等概念,并用各种IDE写过不少的Windows或Web程序,但是当问到为什么要用面向对象,它的好处在哪里,却没有人能完整的讲出来,多数人的反应是,概念知 ... »

一文读懂Java中的动态代理

从代理模式说起 回顾前文: 设计模式系列之代理模式(Proxy Pattern) 要读懂动态代理,应从代理模式说起。而实现代理模式,常见有下面两种实现: (1) 代理类关联目标对象,实现目标对象实现的接口 public class Proxy implements Subject { // 维持一个 ... »

【Python】抽象工厂模式

前言 接着上一篇的故事工厂模式继续,手机要出厂,显然光一个手机肯定是不行的,还需要包装盒、充电器等等东西。我们按照上一篇提到的工厂模式,去建立新的工厂是一点都没有问题的。但是思考一下这样子做会带来的问题,显然工厂太多了,将包装盒、充电器全部分散到各个工厂,组装什么的也是一个大问题,那么有没有更好的办 ... »