设计模式
设计模式,是一套被反复使用、多数人知晓的、经过分类编目的、代码设计经验的总结。熟练掌握这些设计模式,将会在我们开发的过程中提高代码的可复用性、可维护性、可读性、稳健性以及安全性。
本专栏将详细介绍23种设计模式,配以完整代码案例,运行效果图,并对相应设计模式进行细致的梳理归纳总结。
liubin5620
码云地址已经更换为:https://gitee.com/liubin5620
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
备忘录模式
概念在不破坏封装性的前提下,获取并保存一个对象的内部状态,以便以后恢复它。原创 2020-03-08 10:45:16 · 259 阅读 · 0 评论 -
责任链模式
概念把请求从链中的一个对象传到下一个对象,直到请求被响应为止。通过这种方式去除对象之间的耦合。原创 2020-03-08 10:42:44 · 225 阅读 · 0 评论 -
适配器模式
概念将一个类的接口转换成客户希望的另外一个接口,使得原本由于接口不兼容而不能一起工作的那些类能一起工作。原创 2020-03-08 10:37:25 · 200 阅读 · 0 评论 -
建造者模式
概念将一个复杂对象分解成多个相对简单的部分,然后根据不同需要分别创建它们,最后构建成该复杂对象。原创 2020-03-08 10:33:33 · 170 阅读 · 0 评论 -
桥接模式
现实例子我们都去买过手机,手机按照品牌分可以分为华为、小米、oppo、vivo等品牌,如果这些手机按照内存分又可以分为6G、8G、12G等等。假如我们每一种手机都想要玩一下,至少需要4*3个。这对我们来说这些手机也太多了,竟然有12个,最主要的是手机品牌和内存是放在一起的。现在有这样一种机制,手机牌品商是一个公司,做手机内存的是一个公司,想要做什么手机我们只需要让其两者搭配起来即可。有点类似于...原创 2020-03-07 21:23:06 · 575 阅读 · 0 评论 -
代理模式
现实例子什么是代理模式?举个例子来说明:假如说我现在想买一辆二手车,虽然我可以自己去找车源,做质量检测等一系列的车辆过户流程,但是这确实太浪费我得时间和精力了。我只是想买一辆车而已为什么我还要额外做这么多事呢?于是我就通过中介公司来买车车,他们来给我找车源,帮我办理车辆过户流程,我只是负责选择自己喜欢的车,然后付钱就可以了。再比如打官司, 为什么要找个律师? 因为你不想参与中间过程的是是非...原创 2020-03-07 20:16:55 · 264 阅读 · 0 评论 -
原型模式
目录概念应用场景分类浅拷贝深拷贝优缺点优点1、性能优良2、逃避构造函数的约束3、扩展性好4、提供了简化的创建结构方式缺点1、违反开闭原则2、多重嵌套引用时,实现麻烦3、无法和单例模式组合使用角色构成Prototype(抽象原型类)ConcretePrototype(具体原型类)Client(客户端访问类)灵魂拷问...原创 2020-03-07 18:44:24 · 516 阅读 · 0 评论 -
抽象工厂模式
概念抽象工厂模式是一种为访问类提供一个创建一组相关或相互依赖对象的接口,且访问类无须指定所要产品的具体类就能得到同族的不同等级的产品的模式结构。抽象工厂是创建型设计模式,它强调了一系列相关产品对象(属于同一个产品族)的创建过程,它和工厂方法模式的侧重点不同,工厂方法模式更加侧重于同一产品等级,而抽象工厂模式侧重的是同一产品族。简单说就是一个工厂中生产的一系列对象都是同一个产品族的。改进...原创 2020-03-07 17:34:39 · 431 阅读 · 0 评论 -
工厂方法模式
概念工厂方法模式,又称工厂模式、多态工厂模式和虚拟构造器模式,通过定义工厂父类负责定义创建对象的公共接口,而子类则负责生成具体的对象。实现原理工厂方法模式对简单工厂模式进行了抽象。有一个抽象的Factory类(可以是抽象类和接口),这个类将不再负责具体的产品生产,而是只制定一些规范,具体的生产工作由其子类去完成。在这个模式中,工厂类和产品类往往可以依次对应。即一个抽象工厂对应一个抽象产...原创 2020-03-06 19:58:19 · 364 阅读 · 1 评论 -
简单工厂模式(非23种设计模式之列)
目录概念优缺点优点缺点应用场景模式角色组成抽象产品(Product)角色具体产品(Concrete Product)角色工厂(Creator)角色代码实现抽象产品类AbstractCar.java具体产品类-奔驰车类BenzCarImpl.java具体产品类-保时捷车类PorscheCarImpl.java工厂类(二选一)C...原创 2020-03-06 19:57:54 · 487 阅读 · 0 评论 -
单例模式
单例模式概念所谓单例,就是整个程序有且仅有一个实例。该类负责创建自己的对象,同时确保只有一个对象被创建。应用场景在计算机系统中,还有 Windows中任务管理器、回收站、操作系统中的文件系统、多线程中的线程池、显卡的驱动程序对象、打印机的后台处理服务、应用程序的日志对象、数据库的连接池、网站的计数器、Web应用的配置对象、应用程序中的对话框、系统中的缓存等常常被设计成单例。另外,Ser...原创 2020-03-06 19:57:26 · 307 阅读 · 0 评论 -
设计模式概述
产生背景“设计模式”这个术语最初并不是出现在软件设计中,而是被用于建筑领域的设计中。1995 年,艾瑞克·伽马(ErichGamma)、理査德·海尔姆(Richard Helm)、拉尔夫·约翰森(Ralph Johnson)、约翰·威利斯迪斯(John Vlissides)等 4 位作者合作出版了《设计模式:可复用面向对象软件的基础》(Design Patterns: Elements o...原创 2020-03-06 19:56:50 · 327 阅读 · 0 评论
分享