
23种设计模式
心如花木,向阳而生
这个作者很懒,什么都没留下…
展开
-
设计模式-8.代理模式
1.代理模式给某一个对象提供一个代理对象,并由代理对象控制对原对象的引用。用户可以在代理对象中操作原对象。2.代理模式的一般应用:提供了对目标对象的间接访问方式,即通过代理访问目标对象。如此便于在目标实现的基础上增加额外的功能操作,前拦截,后拦截等,以满足自身的业务需求。3.代理模式分为静态代理和动态代理 现在用一个小需求展示:给所有方法添加日志打印功能 打印请求参数。public class Calculator { //加 public int add(int a, int b.原创 2020-07-07 19:38:05 · 271 阅读 · 0 评论 -
设计模式-7.装饰者模式
1.装饰器模式(Decorator Pattern)允许向一个现有的对象添加新的功能,同时又不改变其结构。这种类型的设计模式属于结构型模式,它是作为现有的类的一个包装。这种模式创建了一个装饰类,用来包装原有的类,并在保持类方法签名完整性的前提下,提供了额外的功能。2.作用:动态地给一个对象添加一些额外的职责,装饰者提供了比继承更有弹性的替代方案。3.我觉得我写的不会比这个更好了:https://www.runoob.com/design-pattern/decorator-pattern.html原创 2020-06-29 18:17:20 · 422 阅读 · 0 评论 -
设计模式-6.适配器模式
1. 定义:适配器模式的定义是,Convert the interface of a class into another interface clients expect,将某个类的接口转换为接口客户所需的类型。适配器模式解决的问题是,使得原本由于接口不兼容而不能一起工作、不能统一管理的那些类可以在一起工作、可以进行统一管理。将一个接口转换成客户希望的另一个接口,适配器模式使接口不兼容的那些类可以一起工作,其别名为包装器。个人觉得这些定义不太容易理解,但是我找到一句话,觉得更符合我对适配器模式的理原创 2020-06-16 12:17:11 · 201 阅读 · 0 评论 -
设计模 式-5.观察者模式
一.基本概念:当对象间存在一对多关系时,则使用观察者模式(Observer Pattern)。比如,当一个对象被修改时,则会自动通知它的依赖对象。观察者模式属于行为型模式。二。介绍:意图:定义对象间的一种一对多的依赖关系,当一个对象的状态发生改变时,所有依赖于它的对象都得到通知并被自动更新。主要解决:一个对象状态改变给其他对象通知的问题,而且要考虑到易用和低耦合,保证高度的协作。何...原创 2020-02-24 11:24:11 · 230 阅读 · 0 评论 -
设计模式-4.建造者模式
建造者模式: 建造模式可以将一个产品的内部表象与产品的生成过程分割开来,从而可以使一个建造过程生成具有不同的内部表象的产品对象。当构造方法参数过多时使用建造者模式。将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示,通俗的说就是:建造者模式就是如何一步步构建一个包含多个组成部件的对象,相同的构建过程可以创建不同的产品。1. 简单的构造模式UML类图:...原创 2020-01-19 15:13:06 · 193 阅读 · 0 评论 -
设计模式-3.策略模式
在讲策略模式之前,我们先看一个日常生活中的小例子: 现实生活中我们到商场买东西的时候,卖场往往根据不同的客户制定不同的报价策略,比如针对新客户不打折扣,针对老客户打9折,针对VIP客户打8折... 现在我们要做一个报价管理的模块,简要点就是要针对不同的客户,提供不同的折扣报价。如果是有你来做,你会怎么做?我们很有可能写出下面的代码:package strategy.exa...原创 2020-01-17 15:23:52 · 139 阅读 · 0 评论 -
设计模式-2.工厂模式
前言:什么是工厂模式?工厂模式就是将对象的创建交由工厂来实现,程序只管使用其中具体的方法即可。我们为什么要使用工厂模式?1.将对象的创建和对象的使用分开,降低耦合度,提供代码重复利用率;2.后期对于创建对象的修改成本小。虽然工厂模式有这么优势,但是并不是所有的场景都适用于工厂模式。我们总不能把所有的需要创建对象的地方都换成工厂模式吧?那就有点为了使用设计模式而使用工厂模式了。...原创 2020-01-16 19:17:02 · 168 阅读 · 0 评论 -
设计模式-1.单例模式
一、什么是单例模式单例模式是一种常用的软件设计模式。在它的核心结构中只包含一个被称为单例类的特殊类。通过单例模式可以保证系统中个类只有一个实例而且该实例易于外界访问,从而方便对实例个数的控制并节约系统资源。如果希望在系统中某个类的对象只能存在一个,单例模式是最好的解决方案。二、为什么要使用单例模式 对于系统中的某些类来说,只有一个实例很重要,例如,一个系统中可...原创 2019-12-24 20:31:48 · 190 阅读 · 0 评论