
23种设计模式
通过代码来学习23种设计模式
RRRRRGT
纸上得来终觉浅,绝知此事要躬行
展开
-
【23种设计模式】23种设计模式简介及其应用 总纲
23种设计模式的简单介绍23种设计模式之间的区别23种设计模式的应用原创 2020-04-29 16:06:58 · 360 阅读 · 0 评论 -
看懂类与类之间的六种关系
简单介绍类之间的关系有:依赖、泛化(继承)、实现、关联、聚合、组合我们在描述类之间的关系的时候,可以使用UML图UML即Unified modeling language(统一建模语言),是一种用于软件系统分析和设计的语言工具,它用于帮助软件开发人员进行思考和记录思路的结果UML图分类用例图(use case)静态结构图:类图、对象图、包图、组件图、部署图动态行为图:交互图...原创 2020-04-14 18:15:25 · 3099 阅读 · 0 评论 -
【23种设计模式】简单介绍一下设计模式的七大原则
单一职责原则接口隔离原则依赖倒转原则基本介绍高层模块不应该依赖低层模块,二者都应该依赖其抽象抽象不应该依赖细节,细节应该依赖抽象依赖倒转(倒置)的中心思想是面向接口编程依赖倒转原则是基于这样的设计理念:相对于细节的多变性,抽象的东西要稳定的多。以抽象为基础搭建的架构比以细节为基础的架构要稳定的多。(在Java中,抽象指的是接口或抽象类,细节就是具体的实现类)使用接口或抽象类的目的...原创 2020-04-14 10:55:08 · 203 阅读 · 0 评论 -
【23种设计模式】让代码来告诉你什么叫单例模式
单例模式核心作用保证一个类只有一个实例,并且提供一个访问该实例的全局访问点常见场景:(1)Windows的任务管理器和回收站,无论点击多少次都只有一个窗口(2)项目中,读取配置文件的类,一般也只有一个对象,没必要每次都去new对象读取(3)网站的计数器为了保证同步一般也会采用单例模式(4)数据库的连接池设计(5)Servlet编程中,每个Servlet也是单例的(6)在Sprin...原创 2020-02-16 16:08:04 · 204 阅读 · 0 评论 -
【23种设计模式】让代码来告诉你什么叫工厂模式
工厂模式对OOP的七大原则的体现开闭原则:一个软件的实体应当对扩展开放,对修改关闭依赖倒转原则:要针对接口变成,不要针对实现编程迪米特原则:只与你直接的朋友通信,而避免和陌生人通信工厂模式的作用核心思想:实现了创建者和调用者的分离核心本质:实例化对象不使用new,用工厂方法代替将选择实现类,创建对象统一管理和控制。从而将调用者跟我们的实现类解耦工厂模式分为三种:简...原创 2020-03-22 15:29:28 · 344 阅读 · 0 评论 -
【23种设计模式】让代码来告诉你什么叫抽象工厂模式
抽象工厂模式抽象工厂模式:围绕一个超级工厂创建其他工厂,该超级工厂又称为其他工厂的工厂相关概念定义:抽象模式提供了一个创建一些列相关或者相互依赖对象的接口,无需指定他们具体的类适用场景:客户端(应用端)不依赖于产品类实例如何被创建、实现等细节强调一系列线观的产品对象(属于同一产品族)一起使用创建对象需要大量的重复代码提供一个产品类的库,所有的产品以同样的接口出现,从而使客户端...原创 2020-03-22 16:12:57 · 214 阅读 · 0 评论 -
【23种设计模式】让代码来告诉你什么叫原型模式
原型模式Javascript的继承就是通过原型链实现的原型模式中有个概念,叫克隆 ,例如我们在拷贝文件的时候,将文件A复制一份成文件B,那么文件A 就是原型,文件B就是复制拷贝出来的一份,克隆也类似于这样那么原型模式什么时候会使用呢?原型模式属于创建型模式,假设我们要创建一个很复杂的对象A,需要经过一系列复杂的步骤,如果还要在创建一份,来一个对象B,那么再经过一系列复杂的步骤去创建就会...原创 2020-03-23 17:54:38 · 216 阅读 · 0 评论 -
【23种设计模式】让代码来告诉你什么叫建造者模式
建造者模式建造者模式也属于创建型模式(即帮使用者创建对象),它提供了一种创建对象的最佳方式定义:将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示主要作用:在用户不知道对象的建造过程和细节的情况下就可以直接创建复杂的对象用户只需要给出指定复杂对象的类型和内容,建造者模式负责按顺序创建复杂对象 <===> 把内部的建造过程和细节隐藏起来例子:工厂(建...原创 2020-03-23 15:23:24 · 504 阅读 · 0 评论 -
【23种设计模式】让代码来告诉你什么叫适配器模式
适配器模式适配器模式是结构性模式之一结构型模式的作用就是:从程序的结构上实现松耦合,从而可以扩大整体的类结构,用来解决更大的问题生活中的例子例如现在轻薄笔记本会为了薄而去掉网线接口,转而提供一个TypeC的接口,那么如果要插网线该怎么办呢,就会用到一个叫拓展坞的小工具,来拓展我们的接口适配用转换器,一端连接网线,一端连接笔记本,那么对应到代码中,就是三个类,一个网线,一个笔记本,一...原创 2020-04-12 14:23:06 · 314 阅读 · 0 评论 -
【23种设计模式】让代码来告诉你什么叫桥接模式
桥接模式(Bridge模式)引入:在软件系统中,某些类型由于自身的逻辑,它具有两个或多个维度的变化,那么如何应对这种“多维度的变化”?如何利用面向对象的技术来使得该类型能够轻松的沿着多个方向进行变化,而又不引入额外的复杂度?这就要使用桥接模式。而具体使用的方式,则是将抽象部分与他们的实现部分分离,使得它们都可以独立的变化定义桥接模式是指:将实现与抽象放在两个不同的类层次中,使两个层次...原创 2020-04-27 11:42:17 · 325 阅读 · 0 评论 -
【23种设计模式】让代码来告诉你什么叫代理模式
代理模式简介代理模式:为一个对象提供一个替身,以控制对这个对象的访问。即通过代理对象访问目标对象.这样做的好处是:可以在目标对象实现的基础上,增强额外的功能操作,即扩展目标对象的功能。被代理的对象可以是远程对象、创建开销大的对象或需要安全控制的对象代理模式有不同的形式, 主要有两种: 静态代理、动态代理 (JDK代理、接口代理、Cglib代理)Cglib代理:可以在内存动态的创建对象,而...原创 2020-04-26 17:31:27 · 336 阅读 · 0 评论