![](https://img-blog.csdnimg.cn/20190918140129601.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
设计模式
Lexcellenti
这个作者很懒,什么都没留下…
展开
-
【设计模式】建造者模式
文章目录1. 简介2. 代码实现1. 简介场景:我们要建造一个复杂的产品。比如:电脑、手机。这个复杂的产品创建有这样一个问题需要处理装配这些子组件是不是有个步骤问题?建造模式的本质:分离了对象子组件的单独构造(由Builder来负责)和装配(由Director负责)。从而可以构造出复杂的对象。这个模式适用于:某个对象的构建过程复杂的情况下使用。由于实现了构建和装配的解...原创 2019-08-02 20:04:59 · 77 阅读 · 0 评论 -
【设计模式】原型模式
文章目录1.简介2. 代码实现1.简介原型模式(Prototype模式):通过new产生一个对象需要非常繁琐的数据准备或访问权限,则可以使用原型模式。就是java中的克隆技术,以某个对象为原型,夫指出新的对象。显然,新的对象具备原型对象的特点优势有:效率高(直接克隆,避免了重新执行构造过程步骤)克隆类似于new,但是不同于new。new创建新的对象属性采用的是默认值。克隆出的对象的...原创 2019-08-03 12:21:38 · 87 阅读 · 0 评论 -
【设计模式】适配器模式
1. 分类结构型模式核心作用:是从程序的结构上实现松耦合,从而可以扩大整体的类结构,用来解决更大的问题分类:适配器模式、代理模式、桥接模式、装饰模式、组合模式、外观模式、享元模式2. 简介什么是适配器模式?将一个类的接口转换成客户希望的另外一个接口,Adapter模式使得原本由于接口不兼容而不能一起工作的那些类可以在一起工作模式中的角色目标接口(Targ...原创 2019-08-04 20:35:26 · 132 阅读 · 0 评论 -
【设计模式】桥接模式
1. 分类结构型模式核心作用:是从程序的结构上实现松耦合,从而可以扩大整体的类结构,用来解决更大的问题分类:适配器模式、代理模式、桥接模式、装饰模式、组合模式、外观模式、享元模式...原创 2019-08-05 14:14:48 · 130 阅读 · 0 评论 -
【设计模式】代理模式
1. 分类结构型模式核心作用:是从程序的结构上实现松耦合,从而可以扩大整体的类结构,用来解决更大的问题分类:适配器模式、代理模式、桥接模式、装饰模式、组合模式、外观模式、享元模式2. 简介代理模式(Proxy pattern):核心作用:通过代理控制对对象的访问,可以详细控制访问某个(某类)对象的方法,在调用这个方法前作前置处理,调用这个方法后作后置处理。(即...原创 2019-08-05 20:26:59 · 154 阅读 · 0 评论 -
【设计模式】单例模式
文章目录1. 核心作用2. 单例模式的优点3. 常见的五种单例模式实现方式3.1 主要3.2 其他4. 单例模式Demo4.1 饿汉式4.2 懒汉式1. 核心作用保证一个类只有一个实例,并且提供一个访问该实例的全局访问点。2. 单例模式的优点由于单例模式只生成一个实例,减少了系统性能开销,当一个对象的产生需要比较多的资源时,如读取配置、产生其他依赖对象时,则可以通过在应用启动时直接产生一个...原创 2019-08-01 18:50:37 · 178 阅读 · 1 评论 -
【设计模式】工厂模式
文章目录1. 工厂模式2. 无工厂模式3. 简单工厂模式1. 工厂模式工厂模式:实现了创建者和调用者的分离详细分类:简单工厂模式工厂方法模式抽象工厂模式面向对象设计的基本原则:OCP(开闭原则,Open-Closed Principle):一个软件的实体应当对扩展开放,对修改关闭DIP(依赖倒转原则,Dependence Inversion Principle)...原创 2019-08-02 09:56:14 · 98 阅读 · 0 评论 -
【设计模式】外观模式
1. 分类结构型模式核心作用:是从程序的结构上实现松耦合,从而可以扩大整体的类结构,用来解决更大的问题分类:适配器模式、代理模式、桥接模式、装饰模式、组合模式、外观模式、享元模式2. 简介迪米特法则(最少知识原则):一个软件实体应当尽可能少的与其他实体发生相互作用外观模式核心:为子系统提供统一的入口。封装子系统的复杂性,便于客户端调用3. 代码D...原创 2019-08-07 15:47:20 · 396 阅读 · 0 评论 -
【设计模式】模板方法模式
1. 简介场景:客户到银行办理业务:取号排队办理具体现金/转账/企业/个人/理财业务给银行工作人员评分模板方法模式介绍:模板方法模式是编程中经常用得到模式。它定义了一个操作中的算法骨架,将某些步骤延迟到子类中实现。这样,新的子类可以在不改变一个算法结构的前提下重新定义该算法的某些特定步骤。核心:处理某个流程的代码已经都具备,但是其中某个节点的代码暂时不能确定...原创 2019-08-14 19:33:15 · 142 阅读 · 0 评论