当前位置:首页 > 门店拓客 > 正文内容

桥接和代理的区别

wxianyue1个月前 (01-15)门店拓客2150
国内最强的AI写作工具,帮你写爆款文案

桥接模式( )和代理模式(Proxy )是两种常用的设计模式,尽管它们在某些情况下可能看起来相似代理模式,但它们的目的和应用场景是不同的。

桥接模式( ) 目的

桥接模式的主要目的是将抽象部分与它的实现部分分离,使它们可以独立地变化。这有助于减少类之间的耦合,从而使代码更具可扩展性和维护性。

结构

桥接模式通常涉及以下几个部分:

抽象类():定义了抽象部分的接口,并保存一个对实现部分对象的引用。实现类接口():定义了实现部分的接口。具体实现类():实现 接口。扩充抽象类():扩展抽象类,通常会调用实现部分的操作。 示例

一个典型的例子是图形应用程序,其中图形可以是不同的形状(如圆形、矩形),并且可以使用不同的绘制方法(如在屏幕上绘制或打印到纸张上)。

// Implementor
interface DrawingAPI {
    void drawCircle(double x, double y, double radius);
}
// ConcreteImplementor A
class DrawingAPI1 implements DrawingAPI {
    public void drawCircle(double x, double y, double radius) {
        System.out.println("API1.circle at " + x + ":" + y + " radius " + radius);
    }
}
// ConcreteImplementor B
class DrawingAPI2 implements DrawingAPI {
    public void drawCircle(double x, double y, double radius) {
        System.out.println("API2.circle at " + x + ":" + y + " radius " + radius);
    }
}
// Abstraction
abstract class Shape {
    protected DrawingAPI drawingAPI;
    protected Shape(DrawingAPI drawingAPI) {
        this.drawingAPI = drawingAPI;
    }
    public abstract void draw();
    public abstract void resizeByPercentage(double pct);
}
// RefinedAbstraction
class CircleShape extends Shape {
    private double x, y, radius;
    public CircleShape(double x, double y, double radius, DrawingAPI drawingAPI) {
        super(drawingAPI);
        this.x = x;
        this.y = y;
        this.radius = radius;
    }
    public void draw() {
        drawingAPI.drawCircle(x, y, radius);
    }
    public void resizeByPercentage(double pct) {
        radius *= (1.0 + pct / 100.0);
    }
}

代理模式(Proxy ) 目的

代理模式的主要目的是为另一个对象提供一个替身或占位符,以控制对这个对象的访问。代理模式可以用于多种用途,包括懒加载、访问控制、日志记录等。

结构

代理模式通常涉及以下几个部分:

主题接口():定义了代理类和实际类的共同接口。真实类():实现了主题接口可以帮你写爆款文案的AI系统,表示被代理的真实对象。代理类(Proxy):也实现了主题接口,并持有对真实类的引用,通过代理类控制对真实类的访问。 示例

一个典型的例子是图像查看器应用程序,其中图像可能很大,加载起来需要时间。我们可以使用代理模式来实现延迟加载图像。

// Subject
interface Image {
    void display();
}
// RealSubject
class RealImage implements Image {
    private String filename;
    public RealImage(String filename) {
        this.filename = filename;
        loadFromDisk();
    }
    private void loadFromDisk() {
        System.out.println("Loading " + filename);
    }
    public void display() {
        System.out.println("Displaying " + filename);
    }
}
// Proxy
class ProxyImage implements Image {
    private RealImage realImage;
    private String filename;
    public ProxyImage(String filename) {
        this.filename = filename;
    }
    public void display() {
        if (realImage == null) {
            realImage = new RealImage(filename);
        }
        realImage.display();
    }
}

区别总结

目的不同:

使用场景不同:

实现方式不同:

通过理解这两种模式的目的、结构和使用场景代理模式,可以更好地选择合适的模式来解决实际问题。

---- 文章由 生成

手机浏览,点击图片保存二维码到相册,然后打开微信扫一扫选择本二维码图片就可以进入,电脑端微信“扫一扫”二维码,进入找聊天搭子平台,里面有找饭搭子、找对象、找陪伴服务等等

扫描二维码推送至手机访问。

版权声明:本文由小猪信息平台发布,如需转载请注明出处。

本文链接:http://pplcom.com/post/59135.html

分享给朋友:

相关文章

母亲节可以使用的H5口红机小游戏

母亲节可以使用的H5口红机小游戏

近几年口红机赢口红的游戏风靡各大商场,化妆品柜台不远处一定会有一台口红机,几百块钱的大牌口红通过几元一次的付费小游戏就可以得到,俘获了各个年龄段爱美的女性。但是线下扫码的口红机仅仅是类似于抓娃娃的盈利...

华润/万达/沃尔玛等线下零售,如何利用微信裂变给门店引流?

华润/万达/沃尔玛等线下零售,如何利用微信裂变给门店引流?

当线下门店遇上互联网玩法,它们将碰撞出怎样的火花呢?它们造成的传播效果、引流效果又如何呢?本文将告诉我们实现方法与实现效果。 线下的“购物中心”在策划线上传播活动,普遍都会遇到一个问题:很难调动所有...

丽人堂蒋毅:做社区店,“引流”其实是个伪概念 | 问渠三湘④

丽人堂蒋毅:做社区店,“引流”其实是个伪概念 | 问渠三湘④

导读 “当下化妆品店在快节奏发展速度中,应该不忘初心,摆脱用价格竞争的误区,回归到提高专业性上来。”蒋毅表示。 “化妆品专营店的红利期已经开始消退,经营者也应该以平常心态对待利润的下滑。”湖南株洲丽人...

非常奏效的实体店铺运营谋略,痛苦的你,不妨也可以套用试一下

非常奏效的实体店铺运营谋略,痛苦的你,不妨也可以套用试一下

作者:庞刚言商 / 来源:原创。首发站不管是疫情影响,还是移动互联网电子商务的崛起。近几年来,给大家的感受,实体零售业的生意运营,难度系数越来越大了,而且,对赚钱来讲,越发艰难。 市场经济表现出如此...

惠达卫浴互联网+大促 为消费者带来全新消费体验

惠达卫浴互联网+大促 为消费者带来全新消费体验

双十一全球购物季即将来临,在买买买的同时,特别在购买卫浴产品的时候,总想着能否体验一番?为了你有更好的消费体验,彻底解决消费痛点,中国卫浴领导品牌惠达卫浴,于10月20日至11月11日举行“智惠大不同...

企定定三重礼:分析了200家实体店,7种高效引流方法

企定定三重礼:分析了200家实体店,7种高效引流方法

企定定三重礼:分析了200家实体店,7种高效引流方法! 不断的有人跟我说实体店太难了。是的,确实难!其实,今天做生意的,无论是线上还是线下,最大的难处是一致的:流量在哪里?今天大赢想跟大家分享一些很实...