设计模式
文章平均质量分 80
请给我一根烟的时间
请给我一根烟的时间,我将重新上路
展开
-
设计模式之中介模式Mediator Pattern——所有编程框架都会使用的模式
中介模式的中文翻译非常形象。大家买房子要中介,中介做的什么事情呢?我们先不会回答这个问题。而是反问依据,如果没有中介,我们买房子的场景会是怎样?其实上面所说的还可能只是其中一角,这也是为什么绝大部分人都选择中介来帮忙购房或中介来托管房屋,进行售房。有了中介,世界就变得如此简单,比如对于购房者而言,只要关注:当然,对于售房者而言,也是一样的简单。因为中介为我们屏蔽了购房过程中的所有角色:购房者 * 售房者 * 银行 * 房地产交易中心,每个角色关注自己的诉求和需要做的事情即可。这就是中介者模式的魅力。还有很多原创 2022-06-10 00:27:08 · 224 阅读 · 1 评论 -
设计模式之桥接模式(Bridge Pattern):我允许你的自我,减去的是羁绊,留下的牵挂
概念 桥接模式(Bridge Pattern)是设计模式中最复杂的模式之一,它把事物对象和该对象的具体行为、具体特征分离开来,使它们可以独自进行变化和更改。这样的解释可能比较抽象和令人费解,读者可以通过下面的应用场景进一步来理解。 应用场景 我们还以绘制图形为例,比如我们要绘制矩形Rectangle、Circle、Triangle,我们需要至少需要定义3个形状类来表示,如果我们要绘制的图形还有不同的颜色,如Red、Yello、Green等,此时我们可能有一下两种设计方案: 为每个形状类都提供颜色的实现,比原创 2022-05-28 21:39:01 · 199 阅读 · 2 评论 -
设计模式-外观模式Facade Pattern:我要面对全世界的复杂,只是为你简单
外观模式Facade Pattern,有时又译为门面模式,这是开发人员的经常运用的一种设计模式,在服务器端的开发我们通常都会采用一个MVC类型的框架的来辅助开发,比如Spring MVC、Struts2等。前端开发人员只需要关注服务端提供的接口,而无需进一步了解接口内部如何去做子系统之间的协调及调用。 外观模式要解决的问题就是让客户端对各个子系统的调用变得间的。下图是《设计模式》上的一个的插图,Facade将众多复杂的子系统对Client屏蔽开来,Client只需要关注Facade提供的一个简单接口即可。原创 2022-05-28 21:29:44 · 253 阅读 · 2 评论 -
设计模式私家笔记——装饰器Decorator和代理Proxy不是两兄弟
刚学习设计模式的时候,容易对装饰器模式和代理模式有所混淆,所以笔者特意将两者放在一起进行讲解,对比其相似性及区别。 装饰器模式 Decorator Pattern 我们最初接触装饰器模式,可能是在学习Java的IO相关操作的时候,下面一些类大家或多或少都使用过: java.io.BufferedInputStream(InputStream) java.io.DataInputStream(InputStream) java.io.BufferedOutputStream(OutputStream) ja原创 2022-05-24 00:09:19 · 159 阅读 · 0 评论 -
设计模式私家笔记-适配器模式Adapter
场景:我们已经有一些已有的系统对外提供服务,但是这些服务不能符合客户的接口形式要求,或者不是基于开放的标准协议构建的。这时候我们需要在已有接口之上增加一个适配层来满足对外的服务需要。 适配层往往不是提前的设计,而是基于现有现有的系统进行的妥协和适配。生活中常见的例子比如:美国的电压是110V,中国的电压是220V,购买自美国的电脑电源就需要一个电源适配器。在IE浏览器盛行的时代,他的很多接口都不是符合后来的WEB标准的,所以很多前端框架为了能够提供基于标准协议的SDK,会为了IE做许多的适配工作。 通过.原创 2022-05-07 13:11:12 · 280 阅读 · 0 评论