码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • 扩展接口设计模式 (extension interface design pattern)


    extension interface

    The Extension Interface Design Pattern shows a way in which software design and software architecture can be used to structure applications so that they can be modified and extended. For this reason, this development pattern can be assigned to the structural or architectural patterns.

    扩展接口

    扩展接口设计模式展示了一种可以使用软件设计和软件架构来构建应用程序的方式,以便可以修改和扩展它们。因此,可以将此开发模式分配给结构或架构模式。

    Structure of the Extension Interface Pattern 

    扩展接口模式的结构

     The structure of the design pattern is as follows.

    设计模式的结构如下。

    RootInterface

    Provides general functionality that each extension interface must provide. The "getExtension" method must be implemented by each component so that each extension interface is able to request another extension interface and thus switch roles.

    根接口

    提供每个扩展接口必须提供的通用功能。每个组件都必须实现“getExtension”方法,以便每个扩展接口能够请求另一个扩展接口,从而切换角色。

    extension interface

    The Extension Interface groups the semantic functionality and thus reduces dependencies. It inherits its general functionality from the RootInterface. Its task is to make the role of a context group available to the client. It is important that the services offered are encapsulated from the outside.

    扩展接口

    扩展接口对语义 功能进行分组,从而减少依赖性。它从 RootInterface 继承其一般功能。它的任务是使客户端可以使用上下文组的角色。提供的服务是从外部封装的,这一点很重要。

    Factory

    With the "Factory" class, you create the appropriate component for the requested interface . This is done with the "create" method.
     

    工厂

    使用“Factory”类,您可以为请求的接口创建适当的组件。这是通过“create”方法完成的

    clients

    This class implements the application functionality; this means that the client uses services that are provided by the extension interfaces. The client always accesses the component service via the appropriate extension interface, never directly to the component itself.
     

    客户

    此类实现应用程序功能;这意味着客户端使用扩展接口提供的服务。客户端总是通过适当的扩展接口访问组件服务,而不是直接访问组件本身。

    component

    The class implements the functionality of the associated extension interface or interfaces, since it can implement more than one extension interface. When calling the "getExtension" method, it returns the unique (appropriate) interface reference. It is created by an associated factory.

    组件

    该类实现相关扩展接口的功能,因为它可以实现多个扩展接口。当调用“getExtension”方法时,它返回唯一的(适当的)接口引用。它由关联的工厂创建。

    Literature 

    • K. Eilebrecht, G. Starke: Patterns compact: design patterns for effective software development. 3rd edition, Spektrum Akademischer Verlag, 2010.

    文学

    • K. Eilebrecht, G. Starke:紧凑模式:有效软件开发的设计模式。第 3 版,Spektrum Akademischer Verlag,2010 年。

    Web Links 

    • Kacper Bak: The Extension Interface design pattern . (Seminar thesis, 6th semester diploma in computer science, FH-Kempten, PDF; 548 kB).
    • Douglas C. Schmidt: Extension Interface (PDF; 87 kB). 1998

    网页链接

    • Kacper Bak:扩展接口设计模式。(研讨会论文,计算机科学第 6 学期文凭,FH-Kempten,PDF;548 kB)。
    • Douglas C. Schmidt:扩展接口(PDF;87 kB)。1998


     

    design pattern
    generation pattern

    Abstract Factory  | builder  | factory method  | prototype  | singleton  | multitone  | object pool

    texture pattern

    Adapters  | bridge  | Decorators  | facade  | Flyweight  | compound  noun | deputy

    behavior pattern

    Observer  | Visitors  | interpreters  | iterators  | command  | memento  | template method  | Strategy  | Intermediary  | state  | chain of responsibility  | Interceptors  | null object  | log stack

    Object-relational mapping pattern

    data transfer object  | Table Data Gateway  | Row Data Gateway  | Active Record  | Unit of Work  | Identity Map  | Lazy Loading  | Identity Field  | Dependent Mapping  | Embedded value  | Serialized LOB  | Inheritance Mapper  | Metadata Mapping  | QueryObject  | Command-Query-Responsibility Segregation

    messaging pattern

    message  | command message  | Document message  | Event message  | Request-Reply  | ReturnAddress  | Correlation Identifier  | Message Sequence  | Message expiration  | Format indicator  | Message Channel  | Point to Point Channel  | Publisher Subscriber Channel  | Datatype Channel  | Invalid Message Channel  | Dead Letter Channel  | Guaranteed Delivery  | channel adapters  | messaging bridge | message bus  | Pipes and Filters  | message router  | Content based router  | Message Filters  | dynamic routers  | Recipient list  | splitter  | Aggregator  | Resequencer  | Composed Message Processor  | Scatter Gather  | routing slip  | Process Manager  | Message Brokers  | Message Translator  | envelope wrappers  | Content Enricher  | Content filters  |Claim check  | Normalizers  | Canonical Data Model  | message endpoint  | messaging gateway  | Messaging Mappers  | Transactional Client  | polling consumers  | Event driven consumer  | Competing Consumers  | Message Dispatcher  | Selective consumers  | Durable subscribers  | Idempotent Receivers  | Service Activator  | ControlBus  | Detour  | Wire Tap  | Message History  |Message Store  | Smart Proxy  | test message  | Channel Purger

    Other

    Application controllers  | Business Delegate  | Data Access Object  | Dependency Injection  | Extension Interface  | Fluent Interface  | Inversion of Control (IoC) | Lock  | Model View Controller (MVC) | Model View Presenter (MVP) | Model View Update (MVU) | Model View ViewModel (MVVM) | Page Controller  | Registry  | Remote Facade  | Repository  | Service Locator  | Session State  |table modules  | Template View  | thread pool  | Transaction Script  | TransformView  | Two Step View  | ValueObject

    See also: Analysis Pattern  | architectural pattern

    Category :

    • software architecture

    摘自:

    https://de.wikipedia.org/wiki/Extension_Interface

  • 相关阅读:
    打造自己的3D模型AI 自动纹理工具
    视频孪生智慧水利的十大场景应用案例
    Springboot集成整合Redis-哨兵集群(4)
    C专家编程 第9章 再论数组 9.2 为什么会发生混淆
    如何免费给PDF文件添加标注?
    Python 蝉联榜首,PHP 即将跌出前十 | TIOBE 11 月编程语言排行榜
    Linux学习笔记——进程管理
    学生身份标签的识别与风控应用
    2022年全球市场防火水泥总体规模、主要生产商、主要地区、产品和应用细分研究报告
    STM32CubeIDE更新ST LINK驱动失败解决方法
  • 原文地址:https://blog.csdn.net/asdcls/article/details/127548008
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号