logo
publist
写文章

简介

该用户还未填写简介

擅长的技术栈

可提供的服务

暂无可提供的服务

设计模式【7】——适配器模式(Adapter 模式)

实际上在软件系统设计和开发中,经常会遇到:我们为了完成某项工作购买了一个第三方的库来加快开发。这就带来了一个问题:我们在应用程序中已经设计好了接口,与这个第三方提供的接口不一致,为了使得这些接口不兼容的类(不能在一起工作)可以在一起工作了,Adapter 模式提供了将一个类(第三方库)的接口转化为客户(购买使用者)希望的接口。Adapter 模式正好可以解决这种问题,相当于对接口进行包装,起到一个

文章图片
#设计模式#适配器模式#uml
设计模式【6】——桥接模式(Bridge 模式)

在开发过程中大家肯定都遇到过这样的问题:1)客户给了你一个需求,于是使用一个类来实现(A);2)客户需求变化,有两个算法实现功能,于是改变设计,我们通过一个抽象的基类,再定义两个具体类实现两个不同的算法(A1 和 A2);3)客户又告诉我们说对于不同的操作系统,于是再抽象一个层次,作为一个抽象基类A0,在分别为每个操作系统派生具体类(A00 和 A01,其中 A00 表示原来的类 A)实现不同操作

文章图片
#设计模式#桥接模式#uml
设计模式【12】——代理模式(Proxy 模式)

在某些情况下,一个客户类不想或者不能直接引用一个委托对象,而代理类对象可以在客户类和委托对象之间起到中介的作用,其特征是代理类和委托类实现相同的接口。至少在以下集中情况下可以采用 Proxy 模式解决问题:1)创建开销大的对象时候,比如显示一幅大的图片,我们将这个创建的过程交给代理去完成,GoF 称之为虚代理2)为网络上的对象创建一个局部的本地代理,比如要操作一个网络上的一个对象(网络性能不好的时

文章图片
#代理模式#设计模式
设计模式【11】——外观模式( Facade 模式)

实际上在软件系统开发的过程中经常会遇到这样的情况:可能你实现了一些接口(或者不同的功能模块),而这些接口(模块)都分布在几个类中(比如 A 和 B、C、D):A 中实现了一些接口,B 中实现一些接口(或者 A 代表一个独立模块,B、C、D 代表另一些独立模块)。然后你的客户(并不清楚你的具体接口到底是在哪个类中实现的,而且他们绝大多数的需求只是简单的组合: A、B、C、D 四个接口的组合,而且并不

文章图片
#设计模式#外观模式#uml
到底了