文章目录

  • 前言
  • 一、准备工作
  • 二、我的记忆宫殿
  • 总结

前言

首先关于设计模式,我们其实都知道一些,我这里也是在学习的时候苦恼该如何记忆设计模式,这里觉的设计模式主要难记住原因,是设计模式是高度概括来的,所以各个设计模式之间关联不大,很难串起来,虽然网上也有一些顺口溜可以记忆,但是就我个人来说,效果不佳,这里可能也是因人而异,但是不得不说这个顺口溜已经相比原来的那种好了很多。后来偶然的机会接触到了最强大脑中用到的一种记忆方法-数字宫殿,通过这种方法之后感觉记忆的还不错,所以通过这个博客记录下来,这里需要说明的是我记忆的时候通过菜鸟教程的设计模式来记忆的,不过后来发现已经记忆了25种设计模式,比java23中设计模式多了两种,但是因为已经在大脑中编好码了,所以也不在换了,但是这25种是包括java设计模式的23种的,我们可以通过数字编码联想和设计模式放一起来记忆,这里同时配上菜鸟教程的java代码gitee代码地址。


一、准备工作

1.这里包括两个部分,第一个是菜鸟的代码,我们可以上菜鸟上观看,地址:https://www.runoob.com/design-pattern/design-pattern-tutorial.html;同时如果你想要运行代码查看结果也可以下载我在gitee上的菜鸟设计模式例子的代码:https://gitee.com/callmeyishujia_admin/design_patterns_poultry
2. 还有就是数字宫殿,如下:这里我们只需记忆25个即可,实际有100个以上;这25个请熟记,其实很好记,因为这里很多对应的实物其实是根据谐音来的;


3.准备完毕,下面我们开始记忆吧;

二、我的记忆宫殿

在我记忆宫殿编码里面是如下的内容,当然也可以有自己的记忆方法,怎么容易记忆怎么来
在黑夜中一个蜡烛照亮了一个工厂(1.工厂模式),工厂门口有一只鸭子站在陋的大身上(2.抽象工厂模式),工厂旁边有站一个只有个耳朵的人(3.单例模式),不一会这个人在红旗建造工厂(4.建造者模式),这个人旁边有一个钩子勾着一个圆形的盘子(5.原型模式),在钩子旁边有一个适配器连着口哨(6.适配器模式),勺子旁边有个一个人拿着拐杖在连河两岸的(7.桥接模式),桥的对面有个葫芦在道出酒来过滤(8.过滤器模式),葫芦旁边凤凰传奇组合 拿着网球拍在打球(9.组合模式),在他们旁边放着一个盒子上面画着棒球装饰(10.装饰器模式),在盒子旁边的桌子上一个美丽的女人拿着筷子在吃饭(11.外观模式),女人旁边她的孩子着拿宝(12.享元模式),外面一个男人着只有面骨架的雨伞(13.代理模式),这个男人拿着钥匙要开门,他是身上背负整个生活的责任条(14.责任链模式),门口有一只可爱的鹦鹉正在聆听这个男人的命令(15.命令模式),门口外面有棵杨柳,柳树下面一个男人正在向他生气的女朋友解释道歉(16.解释器模式),这个男人拿着经过不断迭代来的最新款的仪器(17.迭代器模式),男人旁边一个勤劳的中介正在甩掉脚上的泥巴(18.中介者模式),中介手中拿着鱼缸中的泥鳅弄湿了中介的备忘录(19.备忘录模式),中介在仔细观察柳树下的美女(20.观察者模式),但是后来来了条鳄鱼,中介觉的状态不好,赶紧跑路(21.状态模式),柳树旁边的河里有一只对象鸳鸯(22.空对象模式),河旁边一个男孩拿出耳塞在专心想策略(23.策略模式),不一会这个男孩便拿着模板的扣耳勺在扣耳屎(24.模板模式),男孩对面一个拿着二胡的老外在访问着男孩(25.访问者模式)

总结

不要觉得这个很长,其实只要多背几遍把数字宫殿编码背下来,这个故事记下来,其实不算难,同时这个图像记忆比其他的记得要牢固一些,不过具体因人而异,希望能帮助到你,虽然这个不能让你理解设计模式里面的意思,但是他可以让你记住设计模式名字。

个人主页:www.aixinqing.cn

数字宫殿方法记忆设计模式相关推荐

  1. Python零基础速成班-第10讲-Python面向对象编程(下),Property属性、特殊方法、设计模式、链表应用

    Python零基础速成班-第10讲-Python面向对象编程(下),Property属性.特殊方法.设计模式.链表应用 学习目标 面向对象编程 接上一讲:Property属性.特殊方法.设计模式 面向 ...

  2. python获取输入数字_python获取从命令行输入数字的方法

    本文实例讲述了python获取从命令行输入数字的方法.分享给大家供大家参考.具体如下: #---------------------------------------- # Name: numeri ...

  3. jQuery 判断是否为数字的方法 及 转换数字函数

    1.isNaN() <script language="javascript"> var t=$("#id").val();//这个就是我们要判断的 ...

  4. python从键盘获取输入数字_python获取从命令行输入数字的方法

    本文实例讲述了python获取从命令行输入数字的方法.分享给大家供大家参考.具体如下: #---------------------------------------- # Name: numeri ...

  5. python判断字符串是纯数字_python判断字符串是否纯数字的方法

    本文实例讲述了python判断字符串是否纯数字的方法.分享给大家供大家参考.具体如下: 判断的代码如下,通过异常判断不能区分前面带正负号的区别,正则表达式可以根据自己需要比较灵活的写,通过isdigi ...

  6. python大数_python处理大数字的方法

    本文实例讲述了python处理大数字的方法.分享给大家供大家参考.具体实现方法如下: def getFactorial(n): """returns the factor ...

  7. python列表转换成数字_Python中列表元素转为数字的方法分析

    本文实例讲述了Python中列表元素转为数字的方法.分享给大家供大家参考,具体如下: 有一个数字字符的列表: numbers = ['1', '5', '10', '8'] 想要把每个元素转换为数字: ...

  8. 字符串获取类、封装检测数字的方法

    关于字符串,都知道它的属性有长度,而每一个字符串也是通过一个个数字编码形成的,想要通过字符串的属性来判断字符串里的数字的话,需要知道一下几种字符串的属性: var str = '你好'; str.le ...

  9. vba判断是否为数字的方法小集

    在VBA中,判断一个字符是否为数字的方法有很多.可以用isNumeric函数,也可以调用工作表isnumber函数,也可以用like运算符比较等 检查是否为数字    Sub s2()     Deb ...

最新文章

  1. AKOJ-1695-找素数
  2. WEB开发之如何改善PHP开发方式
  3. linux DNS服务器配置
  4. python程序中断时,输出打印日志
  5. Mysql 死锁过程及案例详解之插入意向锁与自增锁备份锁日志锁Insert Intention Lock Auto-increment Lock Backup Lock Log Lock
  6. 应用上线前的“体检”,你知道需要检测哪些指标吗?
  7. java 解决汉诺塔问题
  8. 草稿 DataGridView 控件 1129
  9. 大屏监控系统实战(2)-后台工程搭建
  10. 中广核继续领航光伏风向标 630后首个重大招标项目
  11. 内核编译报错Fedora20(友善)
  12. 如果小米开放购买会怎么样?
  13. 星星之火-45:5G技术地图
  14. JQuery源码分析 - 闭包机制在jQuery中的使用及冲突解决
  15. GlobalSign证书过期不续费还可继续访问吗
  16. Spring中@Value注解详解
  17. 顺序图和活动图的一个区别
  18. AFNetWorking3.0 实现同步请求
  19. 一文搞定pandas的数据合并
  20. html5实现窗帘,纯 CSS3 实现的窗帘菜单 Accordion

热门文章

  1. 小程序 【头像昵称填写能力】使用
  2. Java解析XML的一些个人总结及感悟。(webService、xml、xsd)
  3. 安装Cartopy报错 Proj4 version 0.0.0 is installed, but cartopy requir
  4. python删除最后一个元素_Numpy-从一维数组中删除最后一个元素的最佳方法?
  5. Chips-2.0(一) 安装
  6. 什么样的知识付费系统功能,更有利于平台与讲师发展?
  7. Linux 内核、进程调度、进程通信、多线程、协程
  8. 动态路由RID ospf
  9. 论文阅读: Towards Automatic Face-to-Face Translation
  10. 树莓派4B openwrt wifi 提升速度