怎么建立图片的网站吗wordpress悬浮插件
- 作者: 五速梦信息网
- 时间: 2026年04月20日 06:50
当前位置: 首页 > news >正文
怎么建立图片的网站吗,wordpress悬浮插件,网站建设 佛山,做网站公司高端文章目录 适配器模式 Adapter适用场景UML 桥接模式 Bridge适用场景UML 组合模式 Composite装饰模式 Decorator外观模式 Facade享元模式 Flyweight代理模式 Proxy 适配器模式 Adapter 适用场景 希望使用某个类#xff0c; 但是其接口与其他代码不兼容时#xff0c; 可以使用… 文章目录 适配器模式 Adapter适用场景UML 桥接模式 Bridge适用场景UML 组合模式 Composite装饰模式 Decorator外观模式 Facade享元模式 Flyweight代理模式 Proxy 适配器模式 Adapter 适用场景 希望使用某个类 但是其接口与其他代码不兼容时 可以使用适配器类。 UML 结构一 适配器实现了其中一个对象的接口 并对另一个对象进行封装。 #mermaid-svg-mUamePUSmILors4G {font-family:“trebuchet ms”,verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg-mUamePUSmILors4G .error-icon{fill:#552222;}#mermaid-svg-mUamePUSmILors4G .error-text{fill:#552222;stroke:#552222;}#mermaid-svg-mUamePUSmILors4G .edge-thickness-normal{stroke-width:2px;}#mermaid-svg-mUamePUSmILors4G .edge-thickness-thick{stroke-width:3.5px;}#mermaid-svg-mUamePUSmILors4G .edge-pattern-solid{stroke-dasharray:0;}#mermaid-svg-mUamePUSmILors4G .edge-pattern-dashed{stroke-dasharray:3;}#mermaid-svg-mUamePUSmILors4G .edge-pattern-dotted{stroke-dasharray:2;}#mermaid-svg-mUamePUSmILors4G .marker{fill:#333333;stroke:#333333;}#mermaid-svg-mUamePUSmILors4G .marker.cross{stroke:#333333;}#mermaid-svg-mUamePUSmILors4G svg{font-family:“trebuchet ms”,verdana,arial,sans-serif;font-size:16px;}#mermaid-svg-mUamePUSmILors4G g.classGroup text{fill:#9370DB;fill:#131300;stroke:none;font-family:“trebuchet ms”,verdana,arial,sans-serif;font-size:10px;}#mermaid-svg-mUamePUSmILors4G g.classGroup text .title{font-weight:bolder;}#mermaid-svg-mUamePUSmILors4G .nodeLabel,#mermaid-svg-mUamePUSmILors4G .edgeLabel{color:#131300;}#mermaid-svg-mUamePUSmILors4G .edgeLabel .label rect{fill:#ECECFF;}#mermaid-svg-mUamePUSmILors4G .label text{fill:#131300;}#mermaid-svg-mUamePUSmILors4G .edgeLabel .label span{background:#ECECFF;}#mermaid-svg-mUamePUSmILors4G .classTitle{font-weight:bolder;}#mermaid-svg-mUamePUSmILors4G .node rect,#mermaid-svg-mUamePUSmILors4G .node circle,#mermaid-svg-mUamePUSmILors4G .node ellipse,#mermaid-svg-mUamePUSmILors4G .node polygon,#mermaid-svg-mUamePUSmILors4G .node path{fill:#ECECFF;stroke:#9370DB;stroke-width:1px;}#mermaid-svg-mUamePUSmILors4G .divider{stroke:#9370DB;stroke:1;}#mermaid-svg-mUamePUSmILors4G g.clickable{cursor:pointer;}#mermaid-svg-mUamePUSmILors4G g.classGroup rect{fill:#ECECFF;stroke:#9370DB;}#mermaid-svg-mUamePUSmILors4G g.classGroup line{stroke:#9370DB;stroke-width:1;}#mermaid-svg-mUamePUSmILors4G .classLabel .box{stroke:none;stroke-width:0;fill:#ECECFF;opacity:0.5;}#mermaid-svg-mUamePUSmILors4G .classLabel .label{fill:#9370DB;font-size:10px;}#mermaid-svg-mUamePUSmILors4G .relation{stroke:#333333;stroke-width:1;fill:none;}#mermaid-svg-mUamePUSmILors4G .dashed-line{stroke-dasharray:3;}#mermaid-svg-mUamePUSmILors4G #compositionStart,#mermaid-svg-mUamePUSmILors4G .composition{fill:#333333!important;stroke:#333333!important;stroke-width:1;}#mermaid-svg-mUamePUSmILors4G #compositionEnd,#mermaid-svg-mUamePUSmILors4G .composition{fill:#333333!important;stroke:#333333!important;stroke-width:1;}#mermaid-svg-mUamePUSmILors4G #dependencyStart,#mermaid-svg-mUamePUSmILors4G .dependency{fill:#333333!important;stroke:#333333!important;stroke-width:1;}#mermaid-svg-mUamePUSmILors4G #dependencyStart,#mermaid-svg-mUamePUSmILors4G .dependency{fill:#333333!important;stroke:#333333!important;stroke-width:1;}#mermaid-svg-mUamePUSmILors4G #extensionStart,#mermaid-svg-mUamePUSmILors4G .extension{fill:#333333!important;stroke:#333333!important;stroke-width:1;}#mermaid-svg-mUamePUSmILors4G #extensionEnd,#mermaid-svg-mUamePUSmILors4G .extension{fill:#333333!important;stroke:#333333!important;stroke-width:1;}#mermaid-svg-mUamePUSmILors4G #aggregationStart,#mermaid-svg-mUamePUSmILors4G .aggregation{fill:#ECECFF!important;stroke:#333333!important;stroke-width:1;}#mermaid-svg-mUamePUSmILors4G #aggregationEnd,#mermaid-svg-mUamePUSmILors4G .aggregation{fill:#ECECFF!important;stroke:#333333!important;stroke-width:1;}#mermaid-svg-mUamePUSmILors4G .edgeTerminals{font-size:11px;}#mermaid-svg-mUamePUSmILors4G :root{–mermaid-font-family:“trebuchet ms”,verdana,arial,sans-serif;} «interface» ClientInterface method(data) Adapter -adaptee Service method(date) Service serviceMethod(specialData) Client 结构二 有些编程语言支持多继承比如C。适配器同时继承两个对象的接口适配功能在重写的方法中完成。 最后生成的适配器可替代已有的客户端类进行使用。 eg: Adapter::method() {specialData convertToServiceFormat(data);return serviceMethod(specialData); }#mermaid-svg-tTQIAE93bI12r0Pt {font-family:“trebuchet ms”,verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg-tTQIAE93bI12r0Pt .error-icon{fill:#552222;}#mermaid-svg-tTQIAE93bI12r0Pt .error-text{fill:#552222;stroke:#552222;}#mermaid-svg-tTQIAE93bI12r0Pt .edge-thickness-normal{stroke-width:2px;}#mermaid-svg-tTQIAE93bI12r0Pt .edge-thickness-thick{stroke-width:3.5px;}#mermaid-svg-tTQIAE93bI12r0Pt .edge-pattern-solid{stroke-dasharray:0;}#mermaid-svg-tTQIAE93bI12r0Pt .edge-pattern-dashed{stroke-dasharray:3;}#mermaid-svg-tTQIAE93bI12r0Pt .edge-pattern-dotted{stroke-dasharray:2;}#mermaid-svg-tTQIAE93bI12r0Pt .marker{fill:#333333;stroke:#333333;}#mermaid-svg-tTQIAE93bI12r0Pt .marker.cross{stroke:#333333;}#mermaid-svg-tTQIAE93bI12r0Pt svg{font-family:“trebuchet ms”,verdana,arial,sans-serif;font-size:16px;}#mermaid-svg-tTQIAE93bI12r0Pt g.classGroup text{fill:#9370DB;fill:#131300;stroke:none;font-family:“trebuchet ms”,verdana,arial,sans-serif;font-size:10px;}#mermaid-svg-tTQIAE93bI12r0Pt g.classGroup text .title{font-weight:bolder;}#mermaid-svg-tTQIAE93bI12r0Pt .nodeLabel,#mermaid-svg-tTQIAE93bI12r0Pt .edgeLabel{color:#131300;}#mermaid-svg-tTQIAE93bI12r0Pt .edgeLabel .label rect{fill:#ECECFF;}#mermaid-svg-tTQIAE93bI12r0Pt .label text{fill:#131300;}#mermaid-svg-tTQIAE93bI12r0Pt .edgeLabel .label span{background:#ECECFF;}#mermaid-svg-tTQIAE93bI12r0Pt .classTitle{font-weight:bolder;}#mermaid-svg-tTQIAE93bI12r0Pt .node rect,#mermaid-svg-tTQIAE93bI12r0Pt .node circle,#mermaid-svg-tTQIAE93bI12r0Pt .node ellipse,#mermaid-svg-tTQIAE93bI12r0Pt .node polygon,#mermaid-svg-tTQIAE93bI12r0Pt .node path{fill:#ECECFF;stroke:#9370DB;stroke-width:1px;}#mermaid-svg-tTQIAE93bI12r0Pt .divider{stroke:#9370DB;stroke:1;}#mermaid-svg-tTQIAE93bI12r0Pt g.clickable{cursor:pointer;}#mermaid-svg-tTQIAE93bI12r0Pt g.classGroup rect{fill:#ECECFF;stroke:#9370DB;}#mermaid-svg-tTQIAE93bI12r0Pt g.classGroup line{stroke:#9370DB;stroke-width:1;}#mermaid-svg-tTQIAE93bI12r0Pt .classLabel .box{stroke:none;stroke-width:0;fill:#ECECFF;opacity:0.5;}#mermaid-svg-tTQIAE93bI12r0Pt .classLabel .label{fill:#9370DB;font-size:10px;}#mermaid-svg-tTQIAE93bI12r0Pt .relation{stroke:#333333;stroke-width:1;fill:none;}#mermaid-svg-tTQIAE93bI12r0Pt .dashed-line{stroke-dasharray:3;}#mermaid-svg-tTQIAE93bI12r0Pt #compositionStart,#mermaid-svg-tTQIAE93bI12r0Pt .composition{fill:#333333!important;stroke:#333333!important;stroke-width:1;}#mermaid-svg-tTQIAE93bI12r0Pt #compositionEnd,#mermaid-svg-tTQIAE93bI12r0Pt .composition{fill:#333333!important;stroke:#333333!important;stroke-width:1;}#mermaid-svg-tTQIAE93bI12r0Pt #dependencyStart,#mermaid-svg-tTQIAE93bI12r0Pt .dependency{fill:#333333!important;stroke:#333333!important;stroke-width:1;}#mermaid-svg-tTQIAE93bI12r0Pt #dependencyStart,#mermaid-svg-tTQIAE93bI12r0Pt .dependency{fill:#333333!important;stroke:#333333!important;stroke-width:1;}#mermaid-svg-tTQIAE93bI12r0Pt #extensionStart,#mermaid-svg-tTQIAE93bI12r0Pt .extension{fill:#333333!important;stroke:#333333!important;stroke-width:1;}#mermaid-svg-tTQIAE93bI12r0Pt #extensionEnd,#mermaid-svg-tTQIAE93bI12r0Pt .extension{fill:#333333!important;stroke:#333333!important;stroke-width:1;}#mermaid-svg-tTQIAE93bI12r0Pt #aggregationStart,#mermaid-svg-tTQIAE93bI12r0Pt .aggregation{fill:#ECECFF!important;stroke:#333333!important;stroke-width:1;}#mermaid-svg-tTQIAE93bI12r0Pt #aggregationEnd,#mermaid-svg-tTQIAE93bI12r0Pt .aggregation{fill:#ECECFF!important;stroke:#333333!important;stroke-width:1;}#mermaid-svg-tTQIAE93bI12r0Pt .edgeTerminals{font-size:11px;}#mermaid-svg-tTQIAE93bI12r0Pt :root{–mermaid-font-family:“trebuchet ms”,verdana,arial,sans-serif;} ExistingClass method(data) Adapter -adaptee Service method(date) Service serviceMethod(specialData) Client 通过上面的分析可以看出来适配器模式是将某个对象封装到Adapter的内部然后为被封装对象提供不同的接口。 桥接模式 Bridge 适用场景 如果你希望在几个独立维度上扩展一个类 可使用该模式。如果你想要拆分或重组一个具有多重功能的庞杂类 例如能与多个数据库服务器进行交互的类 可以使用桥接模式。如果你需要在运行时切换不同实现方法 可使用桥接模式。 案例 一个Shape类派生出了Circle类和Square类。你希望对这样的类层次结构进行扩展以使其包含颜色 所以你打算创建名为 红色Red和 蓝色Blue的形状子类。由于你已有两个子类 所以总共需要创建四个类才能覆盖所有组合 那就得派生出红色Circle红色Square蓝色Circle蓝色Square。如果后续你想新增一个三角形形状你需要增加两个子类即红色三角形和蓝色三角形再之后如果你想增加一个颜色你需要增加三个子类。子类的个数会呈指数增长。 UML #mermaid-svg-0u5bg8GFtWY0O7Ia {font-family:“trebuchet ms”,verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg-0u5bg8GFtWY0O7Ia .error-icon{fill:#552222;}#mermaid-svg-0u5bg8GFtWY0O7Ia .error-text{fill:#552222;stroke:#552222;}#mermaid-svg-0u5bg8GFtWY0O7Ia .edge-thickness-normal{stroke-width:2px;}#mermaid-svg-0u5bg8GFtWY0O7Ia .edge-thickness-thick{stroke-width:3.5px;}#mermaid-svg-0u5bg8GFtWY0O7Ia .edge-pattern-solid{stroke-dasharray:0;}#mermaid-svg-0u5bg8GFtWY0O7Ia .edge-pattern-dashed{stroke-dasharray:3;}#mermaid-svg-0u5bg8GFtWY0O7Ia .edge-pattern-dotted{stroke-dasharray:2;}#mermaid-svg-0u5bg8GFtWY0O7Ia .marker{fill:#333333;stroke:#333333;}#mermaid-svg-0u5bg8GFtWY0O7Ia .marker.cross{stroke:#333333;}#mermaid-svg-0u5bg8GFtWY0O7Ia svg{font-family:“trebuchet ms”,verdana,arial,sans-serif;font-size:16px;}#mermaid-svg-0u5bg8GFtWY0O7Ia g.classGroup text{fill:#9370DB;fill:#131300;stroke:none;font-family:“trebuchet ms”,verdana,arial,sans-serif;font-size:10px;}#mermaid-svg-0u5bg8GFtWY0O7Ia g.classGroup text .title{font-weight:bolder;}#mermaid-svg-0u5bg8GFtWY0O7Ia .nodeLabel,#mermaid-svg-0u5bg8GFtWY0O7Ia .edgeLabel{color:#131300;}#mermaid-svg-0u5bg8GFtWY0O7Ia .edgeLabel .label rect{fill:#ECECFF;}#mermaid-svg-0u5bg8GFtWY0O7Ia .label text{fill:#131300;}#mermaid-svg-0u5bg8GFtWY0O7Ia .edgeLabel .label span{background:#ECECFF;}#mermaid-svg-0u5bg8GFtWY0O7Ia .classTitle{font-weight:bolder;}#mermaid-svg-0u5bg8GFtWY0O7Ia .node rect,#mermaid-svg-0u5bg8GFtWY0O7Ia .node circle,#mermaid-svg-0u5bg8GFtWY0O7Ia .node ellipse,#mermaid-svg-0u5bg8GFtWY0O7Ia .node polygon,#mermaid-svg-0u5bg8GFtWY0O7Ia .node path{fill:#ECECFF;stroke:#9370DB;stroke-width:1px;}#mermaid-svg-0u5bg8GFtWY0O7Ia .divider{stroke:#9370DB;stroke:1;}#mermaid-svg-0u5bg8GFtWY0O7Ia g.clickable{cursor:pointer;}#mermaid-svg-0u5bg8GFtWY0O7Ia g.classGroup rect{fill:#ECECFF;stroke:#9370DB;}#mermaid-svg-0u5bg8GFtWY0O7Ia g.classGroup line{stroke:#9370DB;stroke-width:1;}#mermaid-svg-0u5bg8GFtWY0O7Ia .classLabel .box{stroke:none;stroke-width:0;fill:#ECECFF;opacity:0.5;}#mermaid-svg-0u5bg8GFtWY0O7Ia .classLabel .label{fill:#9370DB;font-size:10px;}#mermaid-svg-0u5bg8GFtWY0O7Ia .relation{stroke:#333333;stroke-width:1;fill:none;}#mermaid-svg-0u5bg8GFtWY0O7Ia .dashed-line{stroke-dasharray:3;}#mermaid-svg-0u5bg8GFtWY0O7Ia #compositionStart,#mermaid-svg-0u5bg8GFtWY0O7Ia .composition{fill:#333333!important;stroke:#333333!important;stroke-width:1;}#mermaid-svg-0u5bg8GFtWY0O7Ia #compositionEnd,#mermaid-svg-0u5bg8GFtWY0O7Ia .composition{fill:#333333!important;stroke:#333333!important;stroke-width:1;}#mermaid-svg-0u5bg8GFtWY0O7Ia #dependencyStart,#mermaid-svg-0u5bg8GFtWY0O7Ia .dependency{fill:#333333!important;stroke:#333333!important;stroke-width:1;}#mermaid-svg-0u5bg8GFtWY0O7Ia #dependencyStart,#mermaid-svg-0u5bg8GFtWY0O7Ia .dependency{fill:#333333!important;stroke:#333333!important;stroke-width:1;}#mermaid-svg-0u5bg8GFtWY0O7Ia #extensionStart,#mermaid-svg-0u5bg8GFtWY0O7Ia .extension{fill:#333333!important;stroke:#333333!important;stroke-width:1;}#mermaid-svg-0u5bg8GFtWY0O7Ia #extensionEnd,#mermaid-svg-0u5bg8GFtWY0O7Ia .extension{fill:#333333!important;stroke:#333333!important;stroke-width:1;}#mermaid-svg-0u5bg8GFtWY0O7Ia #aggregationStart,#mermaid-svg-0u5bg8GFtWY0O7Ia .aggregation{fill:#ECECFF!important;stroke:#333333!important;stroke-width:1;}#mermaid-svg-0u5bg8GFtWY0O7Ia #aggregationEnd,#mermaid-svg-0u5bg8GFtWY0O7Ia .aggregation{fill:#ECECFF!important;stroke:#333333!important;stroke-width:1;}#mermaid-svg-0u5bg8GFtWY0O7Ia .edgeTerminals{font-size:11px;}#mermaid-svg-0u5bg8GFtWY0O7Ia :root{–mermaid-font-family:“trebuchet ms”,verdana,arial,sans-serif;} Client Abstraction -i Implemetation feature1() feature2() «interface» Implementation method1() method2() method3() RefinedAbstraction featureN() ConcreteImplementation 抽象部分Abstraction 提供了高层控制逻辑实际工作依赖于底层的实现Implementation。比如GUI程序的底层实际是调用了操作系统的API此处的抽象部分就相当于GUI程序的主逻辑底层的实现部分就相当于操作系统的API。 Abstraction::feature1(){…i.method1();… } Abstraction::feature2(){…i.method2();i.method3(); }实现部分Implementation声明了通用的接口用于为高层提供功能。具体实现Concrete Implementation里包括了特定平台的代码精确抽象Refined Abstraction提供控制逻辑的变体(featureN)与父类一样也是依赖实现的接口与实现交互。客户端Client一般负责将某个抽象和某个实现连接起来然后调用抽象的方法。abstraction.feature1(); 像这样将高层抽象和具体实现分离开两个部分可以分别演进而不会对另一方产生影响。至于为什么叫Bridge模式大概主要是因为二者之间通过聚合关系关联到一起这个聚合关系就像是二者沟通的桥梁。 组合模式 Composite 将对象集合封装到Composite内部为单元素和集合元素提供相同的接口便于处理树形的逻辑结构。 装饰模式 Decorator 将对象封装到Decorator内部为对象提供一个增强的接口。 外观模式 Facade 将子系统细节封装到Facade内部为子系统提供一个简化的接口。 享元模式 Flyweight 将对象中不易变的大成员提取出来单独存储而在对象内部只存储一个指向大成员的指针或者引用以达到缩减内存占用的目的。 代理模式 Proxy 将对象封装到Proxy内部为对象提供一个和对象相同的接口。
- 上一篇: 怎么建立局域网网站推广app赚佣金平台有哪些
- 下一篇: 怎么建立网站?网上商城 网站建设 解决方案
相关文章
-
怎么建立局域网网站推广app赚佣金平台有哪些
怎么建立局域网网站推广app赚佣金平台有哪些
- 技术栈
- 2026年04月20日
-
怎么建公司网站教程wordpress ua标识安卓
怎么建公司网站教程wordpress ua标识安卓
- 技术栈
- 2026年04月20日
-
怎么建php网站php作品源代码免费下载
怎么建php网站php作品源代码免费下载
- 技术栈
- 2026年04月20日
-
怎么建立网站?网上商城 网站建设 解决方案
怎么建立网站?网上商城 网站建设 解决方案
- 技术栈
- 2026年04月20日
-
怎么建立网站卖东西企业网站管理系统破解版
怎么建立网站卖东西企业网站管理系统破解版
- 技术栈
- 2026年04月20日
-
怎么建立一个公司的网站吗网站流程设计
怎么建立一个公司的网站吗网站流程设计
- 技术栈
- 2026年04月20日
