
设计模式
文章平均质量分 62
设计模式类博客
FYHannnnnn
知道的越多,不知道的也就越多
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
什么是软件设计(OCP)原则
文章转自什么是软件设计(OCP)原则_shanglizhangrui的专栏-CSDN博客 设计一个模块时,应当使该模块在不被修改的前提下被扩展。 (1)对扩展是开放的 即当要扩展功能时,不必更改内部代码块,可以直接进行扩展; (2)对更改是封闭的 对模块进行扩展时,内部代码无须改动。 ...转载 2022-02-13 20:10:52 · 715 阅读 · 0 评论 -
熟练掌握Java设计模式设计原则
一,设计模式原则 1,单一职责原则 任何的一个类,让它简单一些,职责单一一些,或许是更好的选择。单一职责原则就是对于一个类而言,应该仅有一个可以改变它变化的原因。 这个可以联系到我自己当初使用SWT制作窗体程序的经历,我将窗体中的各个功能部分都放在该窗体的类下实现,然后通过创建该窗体类的对象来调用各个功能方法。这样子写就势必导致我对于每个功能的修改都需要在窗体类中去修改。就如《重构》中写的一...原创 2019-07-27 22:22:53 · 164 阅读 · 0 评论 -
深入理解简单的工厂模式、工厂方法模式、策略模式、装饰模式、代理模式
1,简单的工厂模式 针对实现了同一个接口或者继承了实现了同一个抽象父类的多个逻辑类建立实例化对象对的工厂,工厂通过不同的情况下的向上转型将不同的实例化对象返回,来看一下实现的UML图: 《大话设计模式》中讲到了几个很好的例子,可以有助理解工厂模式的优点: 如果你要去开发一个多种语言下的游戏,其实游戏的逻辑代码是可以复用的,所以将逻辑代码与界面交互代码分离可以增强逻辑代码的复用性。通过继承...原创 2019-07-27 22:31:57 · 345 阅读 · 0 评论 -
深入理解原型模式、模块方法模式、外观模式、建造者模式、观察者模式
1,原型模式 原型模式多用于当一个实例化对象创建过于复杂时,通过原型模式的clone去方法取复制一个对象,这样既可以简化实例的创建过程,也可以保存原有实例化对象的状态信息。但是原型模式并不是万能的,对于新建的类生成一个clone方法很容易,但是对于后续拓展、已有的类去生成一个clone方法,鉴于对原有类的功能实际应用上考虑,添加clone方法往往并不容易,且修改原类已经违背了设计模式的”开放-封...原创 2019-07-27 22:40:00 · 319 阅读 · 0 评论 -
深入理解抽象工厂模式、状态模式
1,抽象工厂模式 提供给客户端一系列与需求相关的,相互依赖的接口,通过接口的调用的可变性来提高代码的适用性。举个例子,在开发中,我们使用不同的数据库的语法不一样,Oracle与Mysql例如分页上语法不一,MongoDB操作为指令性操作,后台通过getCommand()方法来操作MongoDB,因为需求的对数据库类型的改变就需要修改很多代码,通过抽象工厂模式可以起到灵活转换,代码使用性提高的作用...原创 2019-08-03 23:49:45 · 235 阅读 · 0 评论 -
深入理解适配器模式、备忘录模式、组合模式
一,适配器模式 将一个接口类型转换成客户端所需要的接口类型,将原本不兼容的接口类型转变成兼容的接口类型。生活中用到适配的例子也很多,很贴近的就是电脑电源适配器的例子。电源自然都是我们的生活电源220v电源,但是笔记本电脑是低电压的,电源适配器会把生活电源适配成该电脑型号所需要的电源电压。 适配器模式通过对接口的适配,让客户端统一去调用接口,使得更简单直接,更紧凑。但是也并不是接口代码设计的时候...原创 2019-08-04 21:11:51 · 210 阅读 · 0 评论 -
深入理解迭代器模式、单例模式、桥接模式
一,迭代器模式 现在对于很多语言而言,这个模式已经不再需要自己定义去使用了。它们都封装了一个类的调用,用来遍历聚合对象中的元素内容。就拿Java来说,他有自己封装好的iterator类。迭代器模式的优点在于不暴露该聚合对象中的内部结构。这个模式的实现可以简单当做Iterator类的基本实现。 public abstract class MyIterator { public abstrac...原创 2019-08-11 23:00:41 · 196 阅读 · 0 评论 -
深入理解命令模式、职责链模式、中介者模式
一,命令模式 命令模式用来处理多样化的同类型请求,将不同的请求内容参数化,从而实现请求排队,撤销等一类的操作。贴近的例子,就是晚上出去撸串,每一桌的顾客要求内容都不同,都会由门店小二对内容进行记载,我们甚至都不用知道烧烤师傅是谁,就能完成请求的传递与实现,达到解耦合的作用。下面的代码就是对这个过程的模拟,将请求参数化。但不是凡事遇到这种情况就需要如此去实现,命令模式在于参数操作与撤销,如果只是对...原创 2019-08-18 20:23:07 · 264 阅读 · 0 评论 -
深入理解享元模式、解释器模式、访问者模式
一,享元模式 池技术都有了解,线程池,数据库连接池。都是通过共享对象的方式来减少内存的压力。享元模式就是通过共享技术来实现对象的共享。之前有了解工厂模式,工厂模式往往更加适用于少对象的,在特定情况下的对象判断调用,假如要去实现一个国家计算机考试的代码,通过工厂模式来创建,那肯定不行的。有多少个考生 ,就会要创建多少个对象出来。往往通过一个共享的对象下嵌入不同对象去获取数据录入即可。下面的这个例子...原创 2019-08-20 22:55:21 · 208 阅读 · 0 评论 -
单例模式详细理解
单例模式相信大家都有所听闻,甚至也写过不少了,在面试中也是考得最多的其中一个设计模式,面试官常常会要求写出两种类型的单例模式并且解释其原理,废话不多说,我们开始学习如何很好地回答这一道面试题吧。 1. 什么是单例模式 面试官问什么是单例模式时,千万不要答非所问,给出单例模式有两种类型之类的回答,要围绕单例模式的定义去展开。 单例模式是指在内存中只会创建且仅创建一次对象的设计模式。在程序中多次使用同一个对象且作用相同时,...转载 2020-07-15 18:07:21 · 2836 阅读 · 0 评论