Entwurfsmuster
1 Entwurfsmuster
1.1 Das Begriff
Entwurfsmuster (englisch design patterns) sind bewährte Lösungsschablonen für wiederkehrende Entwurfsprobleme sowohl in der Architektur als auch in der Softwarearchitektur und -entwicklung. Sie stellen damit eine wiederverwendbare Vorlage zur Problemlösung dar, die in einem bestimmten Zusammenhang einsetzbar ist
2 Arten von Entwurfsmuster
- Erzeugungsmuster (englisch creational patterns)
- Dienen der Erzeugung von Objekten. Sie entkoppeln die Konstruktion eines Objekts von seiner Repräsentation.Die Objekterzeugung wird gekapselt und ausgelagert
- Strukturmuster (englisch structural patterns)
- Erleichtern den Entwurf von Software durch vorgefertigte Schablonen für Beziehungen zwischen Klassen
- Verhaltensmuster (englisch behavioral patterns)
- Modellieren komplexes Verhalten der Software und erhöhen damit die Flexibilität der Software hinsichtlich ihres Verhaltens
3 Verschiedenes Muster
3.1 Abstrakte Fabrik
Die abstrakte Fabrik (englisch abstract factory) ist ein Entwurfsmuster aus dem Bereich der Softwareentwicklung, das zur Kategorie der Erzeugungsmuster (englisch creational patterns) gehört. Es definiert eine Schnittstelle zur Erzeugung einer Familie von Objekten, wobei die konkreten Klassen der zu instanziierenden Objekte nicht näher festgelegt werden.[1] Das Muster ist eines der Entwurfsmuster, die von der sogenannten Viererbande (GoF) publiziert wurden.
3.2 Adapter
Der Adapter (englisch adapter pattern) ist ein Entwurfsmuster aus dem Bereich der Softwareentwicklung, das zur Kategorie der Strukturmuster (engl. structural patterns) gehört. Das Muster dient zur Übersetzung einer Schnittstelle in eine andere. Dadurch wird die Kommunikation von Klassen mit zueinander inkompatiblen Schnittstellen ermöglicht. Es ist ein Entwurfsmuster der sogenannten GoF-Muster (Gang of Four, siehe Viererbande).
3.3 Decorator
Der Decorator (auch Dekorierer) ist ein Entwurfsmuster aus dem Bereich der Softwareentwicklung, das zur Kategorie der Strukturmuster (engl. structural patterns) gehört. Das Muster ist eine flexible Alternative zur Unterklassenbildung, um eine Klasse um zusätzliche Funktionalitäten zu erweitern.Es ist ein Entwurfsmuster der sogenannten GoF-Muster.
3.4 Stellvertreter
Der Proxy, auch Stellvertreter genannt, ist ein Entwurfsmuster aus dem Bereich der Softwareentwicklung, das zur Kategorie der Strukturmuster (englisch structural design patterns) gehört. Das Muster überträgt die Steuerung eines Objektes auf ein vorgelagertes Stellvertreterobjekt. Es ist ein Entwurfsmuster der sogenannten Viererbande.
Ein Proxy in seiner allgemeinsten Form ist eine Klasse, die als Schnittstelle zu einem so genannten Subjekt auftritt. Dieses Subjekt kann beispielsweise eine Netzwerkverbindung, ein großes Objekt im Speicher, eine Datei oder eine andere Ressource sein. Als Stellvertreter dieses Subjektes kann der Proxy die Erzeugung des Subjektes sowie den Zugriff darauf steuern.
3.5 Zuständigkeitskette
Die Zuständigkeitskette (englisch chain of responsibility) ist ein in der Softwareentwicklung eingesetztes Entwurfsmuster. Es gehört zur Kategorie der Verhaltensmuster (englisch behavioral design patterns) und wird für Algorithmen verwendet. Dabei dient es der Entkopplung des Auslösers einer Anfrage mit seinem Empfänger.[1] Das Muster ist eines der sogenannten GoF-Muster (siehe Viererbande, Gang of Four).
Entwurfsmuster的更多相关文章
- APS审核经验+审核资料汇总——计算机科学与技术专业上海德语审核
1.APS是什么 德国驻华使馆文化处留德人员审核部(简称APS)成立于2001年7月,是由德国驻华使馆文化处和德意志学术交流中心(DAAD)在北京共同合作成立的服务机构. APS是中国学生前往德国留学 ...
随机推荐
- Docker 入门笔记
Docker 可以理解为一个轻量化的虚拟机, 启动速度快,本身占的资源小 [重要], 容器里是不能保存数据的,容器只要一停止, 所有的数据都会丢失,所以如果重要的数据, 都需要通过配制,把数据保存在 ...
- LINQ to Entities 查询中的标准查询运算符
投影和筛选方法 投影指的是转换的结果集到所需的窗体中的元素. 例如,可以从结果集中的每个对象投影所需的属性子集,可以投影一个属性并对其执行数学计算,也可以从结果集投影整个对象. 投影方法有 Selec ...
- rpm包的安装,查询,卸载,升级,校验,数据库重建,验证数据包
rpm命名: 包:组成部分 主包:bind-9.7.1-1.i586.e15.rpm 子包:bind-lib-9.7.1-1.i586.e15.rpm bind-utils-9.7.1-1.i586. ...
- NETCore调用AD域验证
一.添加引用 System.DirectoryServices System.DirectoryServices.AccountManagement 二.验证代码 声明域 string domainN ...
- C#中Cookies的读取
C#中Cookies的读取 链接: 一 .写入Cookie 1. Name 和 Value 属性由程序设定,默认值都是空引用. 2. Domain属性的默认值为当前URL的域名部分,不管发出这个c ...
- 当前安卓App加固到底该如何做到防篡改?
安卓dalvik虚拟机要求dex文件在内存中以明文形式存在,那么任何加壳方法到头来到了内存还是明文存在,各种dump方法终究是可以获得它的.App究竟应该如何加固才能防止被篡改? 加固和 dump ...
- NOIP2013PUZZLE
#include<cstdio> #include<cstring> #define MIN(A,B) (A)<(B)?(A):(B) using namespace s ...
- 深入了解java虚拟机(JVM) 第八章 常见的jvm调优策略
一般来说,jvm的调优策略是没有一种固定的方法,只有依靠我们的知识和经验来对项目中出现的问题进行分析,正如吉德林法则那样当你已经把问题清楚写出来,就已经解决了一半.虽然JVM调优中没有固定的策略,但是 ...
- php扩展memcache和memcached区别?以及memcached软件的介绍
引用“http://www.vicenteforever.com/2012/03/memcache-different-memcached/” memcached是一个软件,而PHP包括了memcac ...
- 基于Dubbo的Hessian协议实现远程调用
Dubbo基于Hessian实现了自己Hessian协议,可以直接通过配置的Dubbo内置的其他协议,在服务消费方进行远程调用,也就是说,服务调用方需要使用Java语言来基于Dubbo调用提供方服务, ...