![](https://img-blog.csdnimg.cn/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
设计模式
文章平均质量分 94
爱码叔
2006年毕业至今一直从事软件开发相关工作。现就职于Thoughtworks。
唯有狂热,才能极致。
展开
-
卖房不必亲自跑腿,交给代理更轻松---代理模式
代理模式代理模式又称为委托模式。代理模式从字面上很好理解,有些事情你可以不必亲自去做,而是通过更为专业的人或者机构去做。比如你开公司需要工商注册。你可以选择自己去了解相关的规章制度,亲自跑腿去办理。也可以通过专业机构办理。这样你就不需要去了解办理的细节,只需把材料交给机构。机构会为你完成注册工作。在这个过程中,机构不但会为你完成机构注册,而且还有可能为你办理一些你并不知道的增值服务。这就是典型的代理模式。代理模式又称为委托模式。代理模式从字面上很好理解,有些事情你可以不必亲自去做,而是通过更为专业的人或原创 2021-11-23 23:29:54 · 540 阅读 · 0 评论 -
别看单例模式简单,但是玩出的花样可不少(Java版)
单例模式单例模式是设计模式中最简单的设计模式之一。他和工厂模式同属于创建型模式,都用于类的实例化。不过两者的区别很大,要解决的问题也不一样。单例模式保证一个类只会被实例化一次,使用的时候通过单例提供的方法来获取实例。在确保线程安全的前提下,很多时候我们只需要同一个类的一个实例即可,而不是在任何使用的地方都实例化一个新对象。新对象创建是有成本的,不但要花时间,而且占用内存。另外有的时候我们需要一个全局唯一的实例,比如计数器,全局多个计数器就会计数混乱不准确,如下图所示。单例模式就是为了实现全局一个实例的需原创 2021-11-23 23:21:28 · 282 阅读 · 0 评论 -
设计模式之策略模式(Java 实现)
设计模式之策略模式(Java 实现)大家一定都使用过电子地图。在地图中输入出发地和目的地,然后再选取你的出行方式,就可以计算出最优线路以及预估的时长。出行方式有驾车、公交、步行、骑行等。出行方式不同,计算的线路和时间当然也不同。其实出行方式换个词就是出行策略。而策略模式就是针对此类问题的设计模式。生活中这种例子太多了,比如购物促销打折的策略、计算税费的策略等等。相应的策略模式也是一种常用的设计模式。本节我们会以电子地图为例,比较工厂模式和策略模式,讲解策略模式的原理。最后结合工厂模式改造策略模式的代码实原创 2021-10-24 13:52:53 · 1501 阅读 · 0 评论 -
设计模式之简单工厂模式(Java 实现)
本文首发于http://www.imooc.com/wiki/Designlesson/factory.html简单工厂模式是平时开发过程中最常见的设计模式。工厂模式解决类的实例化问题,它属于创建型模式。工厂模式也经常会和其他设计模式组合使用。试想你去麦当劳买一个汉堡。你只需要告诉收银员要一个xx汉堡。过一会就会有一个此类型的汉堡被制作出来。而你完全不需要知道这个汉堡是怎么被制作出来的。这个例子中你就是客户端代码,麦当劳就是工厂,负责生产汉堡。汉堡是接口,而具体的某一种汉堡,比如说香辣鸡腿堡,就是实.原创 2021-10-24 13:39:19 · 657 阅读 · 0 评论 -
设计模式简介
文章首发于imooc http://www.imooc.com/wiki/Designlesson/designpatternintroduction.html设计模式简介相信你只要接触过软件编程,那么一定听说过设计模式。所谓设计模式,是为解决特定问题,一套通用的、可重用的软件设计方案。我们通常所说的设计模式,是针对面向对象语言而言。对于每一位使用面向对象语言的从业者,在学习完该语言的基础知识后,也一定了解如何编写面向对象的程序。但是,面向对象究竟有什么好处,我们又应该如何灵活运用面向对象来设计程序.原创 2021-10-23 15:20:00 · 132 阅读 · 0 评论 -
软件设计模式从何而来?------“抄袭来的” 设计模式
“请问你开发中使用过设计模式吗?”“能说一下工厂模式如何实现吗?”“请问Spring 使用了哪几种设计模式?”上面这些问题是不是很熟悉?想必大家面试都被问过。还记得我第一次被问到时的一脸懵逼。随后立刻被对面投来的鄙夷眼神一万点暴击。铩羽而归后,一口气学完23种设计模式。不禁连连感叹:代码还可以这么写!!接下来的日子里,即使是写hello world,我也会问自己:“你知道有23种写法吗?”。现在想想真的是 too young! too simple!从生搬硬套到灵活运用,我体验过设计模式的原创 2021-10-23 15:10:26 · 1293 阅读 · 3 评论