
8种常用的设计模式
GoF23中常用的8种设计模式
原来是小别扇
这个作者很懒,什么都没留下…
展开
-
8种常用的设计模式(11) —— 小结设计模式
前面只是讲了8种常用的设计模式,设计模式一共有23种,在Java源码中到处都在使用注意:设计模式的学习就是为了提高我们对于程序的抽象能力,能够将复杂的情况抽象出模型/对象,并可以通过判断抽象出来的对象之间的关系,合理的利用设计模式来重构原来复杂冗余的项目,使得我们的项目更加清爽,结构更加清晰,冗余低、耦合低设计模式是前人对于程序开发中技巧的总结,是一种思维,它可以帮你解决很多程序中的高冗余、高耦合、扩展困难等问题,它是一种编程的时候的抽象能力的经验小结,抽象能力才是一个程序员最重要的核心竞争力小结参.原创 2020-10-11 21:25:38 · 317 阅读 · 0 评论 -
8种常用的设计模式(10) —— 代理模式
代理模式分为静态代理和动态代理模式,在学习spring中AOP的时候就已经讲过了,这里就不再赘述了代理模式的好处:在不修改源代码的情况下增强原系统的功能,且AOP的原理就是代理模式Spring5(15) —— 静态代理模式Spring5(16) —— 动态代理模式...原创 2020-10-11 21:04:30 · 179 阅读 · 0 评论 -
8种常用的设计模式(9) —— 桥接模式bridge
目录1.什么是桥接模式2.代码实现3.小结1.什么是桥接模式桥接模式是将抽象部分与它的实现部分分离,使它们都可以独立地变化。它是一种对象结构型模式,又称为柄体(Handle and Body)模式或接口(Interfce)模式上图表示了一个多继承的关系图,各种类型的电脑继承了电脑类,各个厂商又根据不同类型的电脑实现类自己品牌下该电脑产品,但是上面这样的继承模式扩展的时候是很麻烦的比如:现在华为进军电脑市场,我们就需要分别在上图中的台式、笔记本和平板下面写3个华为品牌子类,只要是增加一个品牌就要原创 2020-10-11 20:49:09 · 305 阅读 · 0 评论 -
8种常用的设计模式(8) —— 适配器模式
目录1.结构型模式2.适配器模式(本质:通过加一层解决问题)1.什么是适配器模式2.怎么使用1.分析2.代码实现1.继承2.组合3.小结1.结构型模式在前面学习的设计模式都是创建型模式,它的作用就是new对象或克隆一个对象现在开始学习结构型模式结构型模式的作用从程序的结构上实现松耦合,从而可以扩大整体的类结构,用来解决更大的问题分类适配器模式代理模式桥接模式装饰模式组合模式外观模式享元模式2.适配器模式(本质:通过加一层解决问题)1.什么是适配器模式将一原创 2020-10-11 19:33:58 · 953 阅读 · 0 评论 -
8种常用的设计模式(7) —— 原型模式
1.什么是原型模式原型(prototype)的理解需要和复制/克隆联系原型的意思就是按照对象A,复制/拷贝一份,形成一个单独独立的新的对象B,我们对对象B进行操作,而原来被复制/拷贝的对象A就称为对象B的原型原型模式的使用场景就是当一个对象的创建比较复杂的时候,我们耗费了一些资源好不容易创建出了一个对象A,如果此时我们需要再创建一个对象B,那么我们不需要再去经过前面繁琐的步骤创建对象B,而是直接复制粘贴对象A,得到一个完整对立的对象B2.怎么使用原型模式原型模式的克隆实现方式就是原来我们学习原创 2020-10-10 17:28:03 · 284 阅读 · 0 评论 -
8种常用的设计模式(6) —— 建造者模式
目录1.什么是建造者模式2.代码实现3.小结1.什么是建造者模式建造者模式也属于创建型模式,它提供了一种创建对象的最佳方式定义:将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示主要作用:在用户不知道对象的建造过程和细节的情况下就可以直接创建复杂的对象用户只需要给出指定复杂对象的类型和内容,建造者模式负责按顺序创建复杂对象(把内部的建造过程和细节隐藏起来)例子:工厂(建造者模式)∶负责制造汽车(组装过程和细节在工厂内)汽车购买者(用户)︰你只需要说出你需要的型号(原创 2020-10-10 16:23:44 · 625 阅读 · 0 评论 -
8种常用的设计模式(5) —— 抽象工厂模式
1.什么是抽象工厂模式注意:抽象工厂模式不属于工厂模式,抽象工厂模式和工厂模式是两中设计模式定义∶抽象工厂模式提供了一个创建一系列相关或者相互依赖对象的接口,无需指定它们具体的类适用场景:客户端(应用层)不依赖于产品类实例如何被创建、实现等细节强调一系列相关的产品对象(属于同一产品族)一起使用创建对象需要大量的重复代码提供一个产品类的库,所有的产品以同样的接口出现,从而使得客户端不依赖于具体的实现优点:具体产品在应用层的代码隔离,无需关心创建的细节将一个系列的产品统一到一起创建原创 2020-10-10 11:46:48 · 376 阅读 · 0 评论 -
8种常用的设计模式(4) —— 工厂模式
1.什么是工厂模式作用:实现了创建者和调用者的分离详细分类:简单工厂模式工厂方法模式抽象工厂模式核心本质:实例化对象不使用new,用工厂方法代替将选择实现类,创建对象统一管理和控制,从而将调用者跟我们的实现类解耦三种模式简单工厂模式:用来生产同一等级结构中的任意产品(对于增加新的产品,需要修改已有代码)工厂方法模式:用来生产同一等级结构中的固定产品(支持增加任意产品)抽象工厂模式:围绕一个超级工厂创建其他工厂,该超级工厂又称为其他工厂的工厂2.代码实原创 2020-10-10 11:47:26 · 466 阅读 · 0 评论 -
8种常用的设计模式(3-2) —— 单例模式
1.单例模式饿汉式单例饿汉式,顾名思义,饥不择食,上来就要public class Hungry { private Hungry(){} //单例模式标志,私有构造 private static final Hungry HUNGRY = new Hungry(); //饿汉式,上来直接new一个对象放在这供使用 public static Hungry getInstance(){ //返回实例的方法 return HUNGRY; }}原创 2020-10-09 19:11:14 · 413 阅读 · 1 评论 -
8种常用的设计模式(3-1) —— 单例模式之线程同步
回顾多线程的队列和????为什么要有队列?因为资源只有一个,如果开启多线程,多个线程同时对于一个资源进行操作,这样得到的各个线程操作之后的资源的值是不可靠、不可用的;并且线程的执行顺序我们是不能控制的,所以最后得到什么结果我们是不能控制的;为了解决这个问题,队列就诞生了,就是让多线程进行排队,一个一个的进行操作,这就解决了哪一个线程先使用资源的问题有队列了还要????干嘛?因为线程执行的过程我们是不可控的,所以我们不能保证线程执行起来它真的就乖乖地在队列里面等着,而不会干扰正在执行地线程,比如当前A线原创 2020-10-07 23:01:23 · 453 阅读 · 0 评论 -
8种常用的设计模式(2) —— OOP7大原则
1.OOP 7大原则开闭原则:对扩展开放,对修改关闭里氏替换原则:继承必须确保超类所拥有的性质在子类中仍然成立依赖倒置原则:要面向接口编程,不要面向实现编程单一职责原则:控制类的粒度大小、将对象解耦、提高其内聚性接口隔离原则:要为各个类建立它们需要的专用接口迪米特法则:只与你的直接朋友交谈,不跟“陌生人”说话合成复用原则:尽量先使用组合或者聚合等关联关系来实现,其次才考虑使用继承关系来实现2.解析开闭原则:如果对于已经写好的功能的需求发生了改变,我们尽量不去修改原来的代码,而是在它原创 2020-10-07 16:52:37 · 225 阅读 · 0 评论 -
8种常用的设计模式(1) —— 概述
目录1.什么是设计模式2.为什么要学习设计模式3.设计模式的基本要素4.GoF231.什么是设计模式设计模式(Design Pattern)是前辈们对代码开发经验的总结,是解决特定问题的一系列套路,它不是语法规定,而是一套用来提高代码可复用性、可维护性、可读性、稳健性以及安全性的解决方案1995年,GoF (Gang of Four,四人组/四人帮)合作出版了《设计模式:可复用面向对象软件的基础》一书,共收录了23种设计模式,从此树立了软件设计模式领域的里程碑,人称「GoF设计模式」,也叫GoF2原创 2020-10-07 15:19:17 · 504 阅读 · 0 评论