
设计模式
程序猿学长
专注于产品研发团队管理 软件架构 微服务 中台 欢迎一起交流学习 MBA CTO PMP;关注微信公众号 程序猿学长,大量免费学习资源分享。程序猿学长
展开
-
设计模式-06.代理模式(Proxy Pattern)-静态代理
设计模式-06.代理模式(Proxy Pattern)原创 2020-12-30 19:40:21 · 5694 阅读 · 0 评论 -
设计模式-拦截过滤器 filter
拦截过滤器模式拦截过滤器模式(Intercepting Filter Pattern)用于对应用程序的请求或响应做一些预处理/后处理。定义过滤器,并在把请求传给实际目标应用程序之前应用在请求上。过滤器可以做认证/授权/记录日志,或者跟踪请求,然后把请求传给相应的处理程序。以下是这种设计模式的实体。过滤器(Filter) - 过滤器在请求处理程序执行请求之前或之后,执行某些任务。过滤器链(Filter Chain) - 过滤器链带有多个过滤器,并在 Target 上按照定义的顺序执行这些过滤器。Tar原创 2020-12-29 23:59:19 · 5694 阅读 · 0 评论 -
设计模式-传输对象
传输对象模式传输对象模式(Transfer Object Pattern)用于从客户端向服务器一次性传递带有多个属性的数据。传输对象也被称为数值对象。传输对象是一个具有 getter/setter 方法的简单的 POJO 类,它是可序列化的,所以它可以通过网络传输。它没有任何的行为。服务器端的业务类通常从数据库读取数据,然后填充 POJO,并把它发送到客户端或按值传递它。对于客户端,传输对象是只读的。客户端可以创建自己的传输对象,并把它传递给服务器,以便一次性更新数据库中的数值。以下是这种设计模式的实体。原创 2020-12-29 23:57:55 · 5649 阅读 · 0 评论 -
设计模式-原型模式
原型模式原型模式(Prototype Pattern)是用于创建重复的对象,同时又能保证性能。这种类型的设计模式属于创建型模式,它提供了一种创建对象的最佳方式。这种模式是实现了一个原型接口,该接口用于创建当前对象的克隆。当直接创建对象的代价比较大时,则采用这种模式。例如,一个对象需要在一个高代价的数据库操作之后被创建。我们可以缓存该对象,在下一个请求时返回它的克隆,在需要的时候更新数据库,以此来减少数据库调用。介绍意图:用原型实例指定创建对象的种类,并且通过拷贝这些原型创建新的对象。主要解决:在运原创 2020-12-29 23:56:16 · 5595 阅读 · 0 评论 -
设计模式-05.建造者模式 再次理解director,builder,product.
director,builder,product.使用场景当一个类的构造函数参数个数超过4个,而且这些参数有些是可选的参数,考虑使用构造者模式。解决的问题当一个类的构造函数参数超过4个,而且这些参数有些是可选的时,我们通常有两种办法来构建它的对象。 例如我们现在有如下一个类计算机类Computer,其中cpu与ram是必填参数,而其他3个是可选参数,那么我们如何构造这个类的实例呢,通常有两种常用的方式:public class Computer { private String cpu原创 2020-12-29 23:54:28 · 5871 阅读 · 0 评论 -
设计模式-05.建造者模式 链式调用
05.建造者模式 链式调用我们在开发过程中,经常遇到这种写法,Product product= new builder().setA("fo").setB("bar").setC("so").build();这种写法可以一直.set链式调用,这也是建造者模式的一种写法,通过链式调用去装饰产品。最后build()建造产品。上代码。public class Computer { private final String cpu;//必须 private final String ram;原创 2020-12-29 23:42:09 · 6889 阅读 · 1 评论 -
设计模式-05.建造者模式与模板方法模式比较
Builder 建造者模式Builder 建造者模式,其实和模板模式非常的像,但是也有区别,那就是在模板模式中父类对子类中的实现进行操作,在父类之中进行一件事情的处理,但是在 Builder 模式之中,父类和子类都不用关心怎么处理,而是用另一个类来完成对这些方法的有机组合,这个类的职责就是监工,规定了到底要怎么样有机的组合这些方法。在监工类(Director)中,将父类组合进去,然后调用父类的操作来抽象的实现一件事情,这就是面向接口(抽象)变成的妙处了,当然这个 Builder 可以使接口也可以是抽象类,原创 2020-12-29 00:02:08 · 8532 阅读 · 0 评论 -
设计模式-05.建造者模式(Builder Pattern)
设计模式-05.建造者模式(Builder Pattern)原创 2020-12-28 23:52:25 · 5641 阅读 · 0 评论 -
设计模式-04.模板方法模式
设计模式-04.模板方法模式原创 2020-12-28 19:41:04 · 5952 阅读 · 0 评论 -
设计模式-03.抽象工厂模式
设计模式-03.抽象工厂模式原创 2020-12-28 19:23:18 · 5715 阅读 · 0 评论 -
设计模式-02.工厂方法模式
有了简单工厂模式,为什么还需要工厂方法模式?简单工厂模式的最大优点在于工厂类中包含了必要的逻辑判断**,根据客户端的选择条件动态实例化相关的类**,对于客户端来说,去除了与具体产品的依赖。如果简单工厂模式需要改动,比如新增加一个运算,那么我们一定要给运算工厂类的方法里面加“Case”的分支条件的,修改原来的类。这样我们不但对扩展开放了,对修改也开放了,违背了开发-封闭原则的。什么是工厂方法模式?定义一个用户创建对象的接口,让子类决定实例化哪一个类。工厂方法使一个类的实例化延迟到其子类。工厂方法模式实原创 2020-12-28 19:09:33 · 5693 阅读 · 0 评论 -
设计模式02.工厂模式-简单工厂
设计模式02.工厂模式原创 2020-12-28 18:47:28 · 5831 阅读 · 0 评论 -
设计模式-01单例模式 Singleton Pattern 最详细
设计模式-01单例模式 Singleton Pattern原创 2020-12-28 18:26:42 · 5930 阅读 · 0 评论 -
23种设计模式概要总结
1.单例模式(Singleton Pattern)定义:Ensure a class has only one instance, and provide a global point of access to it.(确保某一个类只有一个实例,而且自行实例化并向整个系统提供这个实例。)通用代码:(是线程安全的)public class Singleton { private static final Singleton singleton = new Singleton();//限制产生原创 2020-12-27 16:51:14 · 6337 阅读 · 0 评论 -
面向对象-设计模式分类
设计模式的分类创建型模式工厂方法模式、抽象工厂模式、单例模式、建造者模式、原型模式。结构型模式适配器模式、装饰器模式、代理模式、外观模式、桥接模式、组合模式、享元模式行为模式策略模式、模板方法模式、观察者模式、迭代子模式、责任链模式、命令模式、备忘录模式、状态模式、访问者模式、中介者模式、解释器模式。...原创 2020-12-27 16:38:49 · 6492 阅读 · 1 评论 -
面向对象设计思想-基本概念
面向对象最需要的是 抽象的能力。这个能力需要通过大量编写代码和思考系统结构来获得。类与类的关系,包与包的关系,项目与项目的关系。 架构师的抽象能力要更深一层,代码结构,数据结构,文件结构,项目结构,物理部署结构,逻辑层次结构等。一、对象用计算机语言对问题域中事物的描述,对象通过属性(attribute)和方法(method)来分别对应事物所具有的静态属性和动态属性a、类是用于描述同一类型的对象的一个抽象的概念,类中定义了这一类对象所具有的静态和动态属性。b、类可以看成一类对象的模板,对象可以看原创 2020-12-22 19:42:31 · 6788 阅读 · 1 评论