![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
设计模式
文章平均质量分 83
胡小冰
这个作者很懒,什么都没留下…
展开
-
动态代理练习以及万能动态代理模板
举例:房东、租客、中介项目结构:静态代理模式:Landlordpackage demo01;public class Landlord implements Rent{ public void rent(){ System.out.println("房东要出租房子了!"); }}Rent:package demo01;public interface Rent { public void rent();}Proxy;packa原创 2021-07-31 10:44:45 · 169 阅读 · 0 评论 -
图解设计模式------Proxy(代理)模式
一、Proxy模式 Proxy是“代理人”的意思,它指的是代替别人进行工作的人。当不一定需要本人亲自进行工作时,就可以寻找代理人去完成工作。但代理人毕竟只是代理人,能代替本人做的事情终究是有限的。因此,当代理人遇到无法自己解决的事情时就会去找本人解决该问题。 在面向对象编程中,“本人”和“代理人”都是对象。如果“本人”对象太忙了,有些工作无法自己亲自完成,就将其交给“代理人”对象负责。二 、示例程序 原创 2021-07-07 16:24:28 · 445 阅读 · 1 评论 -
设计模式
1、设计模式分类创建型模式:工厂方法(factory method)模式、抽象工厂(abstract factory)模式、原型(prototype)模式、单例(singleton)模式、构建器(builder)模式。结构型模式:适配器(adapter)模式、桥接(bridge)模式、组合(composite)模式、装饰(decorator)模式、外观(facade)模式、享元(flyweight)模式、代理(proxy)模式行为型模式:职责链(chain of responsibility)模式、命原创 2021-05-25 11:38:09 · 88 阅读 · 0 评论 -
图解设计模式(3)Template Method 模式——将具体处理交给子类
3.1 Template Method 模式什么是模板 ?模板的原意是指带有镂空文字的薄薄的塑料板。只要用笔在模板的镂空处进行临摹,即使是手写也能写出整齐的文字。虽然只要看到这些镂空的洞,我们就可以知道能写出哪些文字,但是具体写出的文字是什么感觉则依赖于所用的笔。如果使用签字笔来临摹,则可以写出签字似的文字;如果使用铅笔来临摹,则可以写出铅笔字;而如果是用彩色笔临摹,则可以写出彩色的字。但是无论使用什么笔,文字的形状都会与模板上镂空处的形状一致。什么是Template Method 模式 ?Tem.原创 2021-04-27 10:06:29 · 132 阅读 · 0 评论 -
图解设计模式(2)Adapter 模式——加个“适配器”以便于复用
1、Adapter 模式适配器的角色在程序世界中,经常会存在现有的程序无法直接使用,需要做适当的变换之后才能使用的情况。这种用于填补“现有的程序”和“所需的程序”之间差异的设计模式就是 Adapter 模式。Adapter 模式也被称为 Wrapper 模式。Wrapper 有“包装器”的意思,就像用精美的包装纸将普通商品包装成礼物那样,替我们把某样东西包起来,使其能够用于其他用途的东西就被称为“包装器”或是“适配器”。Adapter 模式有以下两种。类适配器模式(使用继承的适配器)对象适配原创 2021-04-26 20:30:07 · 131 阅读 · 0 评论 -
图解设计模式(1) Iterator模式——— 一个一个遍历
1.1 Iterator模式使用java语言显示数组arr中的元素时,我们可以使用下面这样的for循环语句遍历数组。for(int i = 0; i < arr.length; i++{ System.out.println(arr[i]);} 请注意这段代码中的循环变量i。该变量的初始值是0,然后会递增为1,2,3,。。。,程序则在每次i递增后都会输出arr[i]。我们在程序中会经常看到这样的for循环语句。arr[0] 最开始的元素(第0 个元素)arr[1] 下一个元素(第原创 2021-04-25 22:25:49 · 156 阅读 · 0 评论