设计模式
帆非凡
写过很多bug,也解决过不少问题
个人网站:http://withu.top
展开
-
非官方解读模板模式
模板方法模式(Template Method) : 指:一个抽象类中,有一个主方法,主方法是处理逻辑的骨架,也就是调用了一系列处理方法.再定义1…n个方法,可以是抽象的,也可以是实际的方法(这些就是处理方法),子类继承该抽象类,重写抽象方法,通过调用抽象类中主方法,实现对子类的调用. 抽象类定义实现模板,子类实现其未实现的具体方法. 作者是个二吊子,如果描述有误请指出. 目录使用场景模板模式...原创 2020-03-26 11:05:20 · 231 阅读 · 0 评论 -
非官方解读代理模式
代理模式(Proxy) : 代理模式就是多一个代理类出来,替原对象进行一些操作.对方法进行加强.而代理类充当一个中介的角色.我们不直接调用原方法.而是通过代理类进行调用,中间可进行自定义处理.Spring Aop中的通知就是由此而来.代理分为静态代理,动态代理(Jdk代理),cglib代理三种,下文将进行阐述. 作者是个二吊子,如果描述有误请指出. 目录使用场景静态代理动态代理cglib代理...原创 2020-03-24 15:31:10 · 223 阅读 · 0 评论 -
非官方解读享元模式
享元模式(Flyweight) : 享元模式的主要目的是实现对象的共享,即共享池,当系统中对象多的时候可以减少内存的开销,通常与工厂模式一起使用。 我们通过观察感觉享元模式与单例模式有一定的相似度.这里稍做笔记. 单例模式是全局产生唯一实例对象,常用于共享数据.而享元模式是有池化概念,也就是多个对象,根据类型或者说是状态进行复用,避免一直使用new创建对象. 作者是个二吊子,如果描述有误请指...原创 2020-03-24 11:45:19 · 155 阅读 · 0 评论 -
非官方解读外观模式
外观模式(Facade) : 外观模式是为了解决类与类之家的依赖关系的,像spring一样,可以将类和类之间的关系配置到配置文件中,而外观模式就是将他们的关系放在一个Facade类中,降低了类类之间的耦合度. 通过一个类持有所有其他类的引用,然后统一整合再调用的处理过程 作者是个二吊子,如果描述有误请指出. 目录使用场景外观模式 使用场景 日常编码中,我们会遇到一个处理分成很多个步骤,而...原创 2020-03-23 16:29:06 · 216 阅读 · 0 评论 -
非官方解读组合模式
组合模式(Composite) : 组合模式有时又叫部分-整体模式在处理类似树形结构的问题时比较方便 使用场景:将多个对象组合在一起进行操作,常用于表示树形结构中 作者是个二吊子,如果描述有误请指出. 目录使用场景组合模式 使用场景 我们可能会操作到一些属性结构的数据,常见的是省市区,多级菜单.它们会具有较多的类似行为(方法).在这个时候我们常见的操作是进行多级菜单定义或者通用一个类来做...原创 2020-03-23 15:11:45 · 207 阅读 · 0 评论 -
转-装饰者模式
内容转自https://blog.csdn.net/a553181867/article/details/52108423转载 2020-03-23 13:36:29 · 84 阅读 · 0 评论 -
非官方解读桥接模式
桥接模式就是把事物和其具体实现分开,使他们可以各自独立的变化。桥接的用意是:将抽象化与实现化解耦,使得二者可以独立变化,像我们常用的JDBC桥DriverManager一样,JDBC进行连接数据库的时候,在各个数据库之间进行切换,基本不需要动太多的代码,甚至丝毫不用动 作者是个二吊子,如果描述有误请指出. 目录使用场景桥接模式 使用场景 我们在电商平台中,有三种会员,黑铁会员, 黄铜会员...原创 2020-03-23 11:11:41 · 121 阅读 · 0 评论 -
非官方解读适配器模式
适配器模式(Adapter ),对接口进行转换,以达到适用的目的.常常是接口之前的一种转换机制,让不同的接口能够满足使用情况,达到适配的目的.常用例子就是电源插座了.自行复习吧. 作者是个二吊子,如果描述有误请指出. 目录使用场景类适配器对象适配器接口适配器 使用场景 我们在日常挖坑中,会遇到要对一些接口进行转化,因为不满足使用情况,我们需要对其中的过程进行处理.或者修改行为,就能用到适...原创 2020-03-21 19:17:35 · 123 阅读 · 0 评论 -
非官方解读建造者模式
建造者模式,又称为生成器模式,将复杂对象的构建过程抽象.使不同的实现方法可以构造出不同的对象,内部构建过程透明.有四个角色,这四个角色并不是必然存在的,因为设计模式本就是大而无形,有的只是个思想. 产品角色(Product), 构建出的结果,具体的产品对象 抽象建造者(Builder), 创建一个产品对象的各个部件,指定的接口/抽象类 具体建造者(ConcreteBuilder), 实现接口构建...原创 2020-03-21 17:11:23 · 243 阅读 · 1 评论 -
非官方解读原型模式
原型模式: 通过最初的实例,创建一个同样的实例对象,并把最初的属性赋值到新的实例对象. 也就是克隆.代码中的理解,将实例复制一份出来,但是他们的属性是完全一致的,这里会有两个情况,如果属性是基本类型,那么它们的属性之间没有关系,如果存在对象类型,浅拷贝时会存在属性引用同一个,而深拷贝不一样.可以理解为浅拷贝只是成员变量赋值.而深拷贝是把成员变量中对象引用全部重新new实现的 作者是个二吊子,...原创 2020-03-21 13:19:29 · 158 阅读 · 0 评论 -
非官方解读工厂模式
工厂方法模式其中包含两种,这里就写在一起了,包含普通工厂模式和抽象方法模式,工厂模式可以在一定程度上减少coding,只能是一定程度上.因为我们在使用中往往会增加coding.它最明显的好处是代码隔离,复用,解耦.可以理解为我们将复杂的对象的实例化放在工厂模式中进行处理,在使用时工厂模式透明,我们不需要去关心内部如何实现.而解耦则是我们在进行编程时不会进行强制的指向,即通过工厂模式作为统一入口来...原创 2020-03-20 16:41:36 · 126 阅读 · 0 评论 -
非官方解读单例模式
顾名思义,单例模式,也就是在程序中只存在一个实例.比如常举的例子java.lang.Runtime 它定义了静态变量,私有了无参构造器,提供公开的public方法获取实例.这样的好处是我们经常需要一个实例来进行事件的处理,那就没必要去创造多个实例出来,给GC压力. 目录单例的种类饿汉式静态变量静态代码块懒汉式懒加载(线程不安全)线程安全的懒加载双重检查懒汉式-双重检查(推荐使用)静态内部类(推荐...原创 2020-03-19 18:35:28 · 150 阅读 · 0 评论 -
设计模式总章
非官方解读23种设计模式–总章 本章介绍设计模式的原则及解决的问题,以个人角度出发,瞎写的,如果有不同意见或者建议,可能也不是很能接受,但是不拒绝.接下来我们一点一点的学习,会往下推导23种设计模式,以及具体使用和场景.不官方,全瞎扯. ""非官方解读23种设计模式--总章设计模式能干嘛设计模式几大原则开闭原则(ocp)单一职责里氏替换依赖倒转接口隔离迪米特法则合成复用二十三种设计模式插眼 设...原创 2020-03-19 18:12:03 · 176 阅读 · 0 评论