window.pipedriveLeadboosterConfig = { base: 'leadbooster-chat.pipedrive.com', companyId: 11580370, playbookUuid: '22236db1-6d50-40c4-b48f-8b11262155be', version: 2, } ;(function () { var w = Fenster if (w.LeadBooster) { console.warn('LeadBooster existiert bereits') } else { w.LeadBooster = { q: [], on: function (n, h) { this.q.push({ t: 'o', n: n, h: h }) }, trigger: function (n) { this.q.push({ t: 't', n: n }) }, } } })() Das ist die Strategie! Strategie Entwurfsmuster - The Codest
Der Codest
  • Über uns
  • Dienstleistungen
    • Software-Entwicklung
      • Frontend-Softwareentwicklung
      • Backend-Softwareentwicklung
    • Staff Augmentation
      • Frontend-Entwickler
      • Backend-Entwickler
      • Daten-Ingenieure
      • Cloud-Ingenieure
      • QS-Ingenieure
      • Andere
    • IT-Beratung
      • Prüfung und Beratung
  • Branchen
    • Fintech & Bankwesen
    • E-commerce
    • Adtech
    • Gesundheitstechnik
    • Herstellung
    • Logistik
    • Automobilindustrie
    • IOT
  • Wert für
    • CEO
    • CTO
    • Delivery Manager
  • Unser Team
  • Fallstudien
  • Gewusst wie
    • Blog
    • Begegnungen
    • Webinare
    • Ressourcen
Karriere Kontakt aufnehmen
  • Über uns
  • Dienstleistungen
    • Software-Entwicklung
      • Frontend-Softwareentwicklung
      • Backend-Softwareentwicklung
    • Staff Augmentation
      • Frontend-Entwickler
      • Backend-Entwickler
      • Daten-Ingenieure
      • Cloud-Ingenieure
      • QS-Ingenieure
      • Andere
    • IT-Beratung
      • Prüfung und Beratung
  • Wert für
    • CEO
    • CTO
    • Delivery Manager
  • Unser Team
  • Fallstudien
  • Gewusst wie
    • Blog
    • Begegnungen
    • Webinare
    • Ressourcen
Karriere Kontakt aufnehmen
Pfeil zurück ZURÜCK
2018-12-18
Software-Entwicklung

Das ist die Strategie! Strategie Entwurfsmuster

Sara Klimek

Ein Entwurfsmuster ist ein konzeptionelles Modell, das Ihnen hilft, Entwurfsprobleme in verschiedenen Zusammenhängen zu lösen. Es ist wie eine wiederverwendbare Vorlage, die Sie auf einen strukturierenden Code anwenden können.

Bei der Arbeit an einer Projektist es wichtig, dass Sie das Rad nicht neu erfinden. Wenn sich eine Lösung für ein Problem bewährt hat, erspart Ihnen die Wiederverwendung viel Zeit und einige Kopfschmerzen. Für den Fall von Systemarchitektur-Dilemmata haben wir einige Muster entwickelt, die den Entwurfsprozess erleichtern.

Was ist ein Entwurfsmuster?

Ein Entwurfsmuster ist ein konzeptionelles Modell, das Ihnen hilft, Entwurfsprobleme in verschiedenen Zusammenhängen zu lösen. Es ist wie eine wiederverwendbare Vorlage, die Sie auf eine Strukturierung anwenden können Code. Die Sache ist die: Entwurfsmuster sind gut dokumentiert, bewährt und allgemein bekannt. Mit anderen Worten: Verwenden Sie ein geeignetes Entwurfsmuster und seien Sie sicher, dass andere Entwurfsmuster-Insider (aka Ihre Kollegen) Ihre Ideen problemlos verstehen werden.

Sind Sie neugierig geworden? Hier kommt das Strategy Design Pattern.

Das Strategieentwurfsmuster:

  • definiert eine Familie von Algorithmen,

  • implementiert jeden der Algorithmen als eine separate Einheit,

  • ermöglicht es, jeden der Algorithmen in einem bestimmten Kontext austauschbar zu verwenden.

Beispiel aus dem wirklichen Leben? Authentifizierung

In einer unserer Anwendungen haben wir einige Strategien zur Authentifizierung von Anfragen implementiert. Wir erlauben die Authentifizierung mit Cookies, JWT-Tokens und API-Schlüsseln. Das klingt für mich nach einer Familie von Algorithmen.

Werfen wir einen Blick auf eine Beispielimplementierung.

Wir haben unsere Familie von Authentifizierungsalgorithmen in drei separate Klassen unterteilt. Jede Klasse definiert das konkrete Verhalten; in ihr werden alle Implementierungsdetails festgelegt:

Modul AuthenticationStrategien
  class CookiesAuthentifizierung
    def self.authenticate_request(Anfrage)
      puts "Ich implementiere einen Cookie-Authentifizierungsalgorithmus"
    end
  end
class JWTAuthentication
    def self.authenticate_request(anfrage)
      puts "Ich implementiere einen JWT-Authentifizierungsalgorithmus"
    end
  end
class ApiKeyAuthentication
    def self.authenticate_request(request)
      puts "Ich implementiere einen Api-Schlüssel-Authentifizierungsalgorithmus"
    end
  end
end

Dann haben wir eine Kontext/Client-Klasse:

class Authentifizierung
  def self.authenticate(authentication_strategy, request)
    authentication_strategy.authenticate_request(anfrage)
  end
end
request = "Ich gebe vor, ein Antrag zu sein"
Authentication.authenticate(AuthenticationStrategies::CookiesAuthentication, Anfrage)
Authentication.authenticate(AuthenticationStrategies::JWTAuthentication, Anfrage)
Authentication.authenticate(AuthenticationStrategies::ApiKeyAuthentication, Anfrage)

Das obige Skript gibt aus:

Ich implementiere einen Cookie-Authentifizierungsalgorithmus Ich implementiere einen jwt-Authentifizierungsalgorithmus Ich implementiere einen Api-Schlüssel-Authentifizierungsalgorithmus

Zusammenfassende Betrachtung

  • Entwurfsmuster sind nützliche Werkzeuge zur Lösung von Architekturproblemen,

  • Die Kenntnis von Entwurfsmustern verbessert die Kommunikation über die Systemarchitektur mit anderen Entwicklern,

  • Das Strategy Design Pattern eignet sich für Ihre Bedürfnisse, wenn Sie eine Reihe von Algorithmen haben, die in einem bestimmten Kontext austauschbar verwendet werden können.

Ähnliche Artikel

Software-Entwicklung

Zukunftssichere Web-Apps bauen: Einblicke vom The Codest-Expertenteam

Entdecken Sie, wie sich The Codest bei der Erstellung skalierbarer, interaktiver Webanwendungen mit Spitzentechnologien auszeichnet, die nahtlose Benutzererfahrungen auf allen Plattformen bieten. Erfahren Sie, wie unsere Expertise die digitale Transformation und...

DAS SCHÖNSTE
Software-Entwicklung

Top 10 Softwareentwicklungsunternehmen in Lettland

Erfahren Sie in unserem neuesten Artikel mehr über die besten Softwareentwicklungsunternehmen Lettlands und ihre innovativen Lösungen. Entdecken Sie, wie diese Technologieführer Ihr Unternehmen voranbringen können.

thecodest
Enterprise & Scaleups Lösungen

Grundlagen der Java-Softwareentwicklung: Ein Leitfaden für erfolgreiches Outsourcing

Entdecken Sie diesen wichtigen Leitfaden zum erfolgreichen Outsourcing der Java-Softwareentwicklung, um die Effizienz zu steigern, auf Fachwissen zuzugreifen und den Projekterfolg mit The Codest voranzutreiben.

thecodest
Software-Entwicklung

Der ultimative Leitfaden für Outsourcing in Polen

Der Anstieg des Outsourcings in Polen wird durch wirtschaftliche, bildungspolitische und technologische Fortschritte angetrieben, die das IT-Wachstum und ein unternehmensfreundliches Klima fördern.

TheCodest
Enterprise & Scaleups Lösungen

Der vollständige Leitfaden für IT-Audit-Tools und -Techniken

IT-Audits gewährleisten sichere, effiziente und gesetzeskonforme Systeme. Erfahren Sie mehr über ihre Bedeutung, indem Sie den vollständigen Artikel lesen.

Der Codest
Jakub Jakubowicz CTO & Mitbegründer

Abonnieren Sie unsere Wissensdatenbank und bleiben Sie auf dem Laufenden über das Fachwissen aus dem IT-Sektor.

    Über uns

    The Codest - Internationales Software-Unternehmen mit technischen Zentren in Polen.

    Vereinigtes Königreich - Hauptsitz

    • Büro 303B, 182-184 High Street North E6 2JA
      London, England

    Polen - Lokale Tech-Hubs

    • Fabryczna Office Park, Aleja
      Pokoju 18, 31-564 Kraków
    • Brain Embassy, Konstruktorska
      11, 02-673 Warszawa, Polen

      Der Codest

    • Startseite
    • Über uns
    • Dienstleistungen
    • Fallstudien
    • Gewusst wie
    • Karriere
    • Wörterbuch

      Dienstleistungen

    • IT-Beratung
    • Software-Entwicklung
    • Backend-Softwareentwicklung
    • Frontend-Softwareentwicklung
    • Staff Augmentation
    • Backend-Entwickler
    • Cloud-Ingenieure
    • Daten-Ingenieure
    • Andere
    • QS-Ingenieure

      Ressourcen

    • Fakten und Mythen über die Zusammenarbeit mit einem externen Softwareentwicklungspartner
    • Aus den USA nach Europa: Warum entscheiden sich amerikanische Start-ups für eine Verlagerung nach Europa?
    • Tech Offshore Development Hubs im Vergleich: Tech Offshore Europa (Polen), ASEAN (Philippinen), Eurasien (Türkei)
    • Was sind die größten Herausforderungen für CTOs und CIOs?
    • Der Codest
    • Der Codest
    • Der Codest
    • Privacy policy
    • Website terms of use

    Urheberrecht © 2025 von The Codest. Alle Rechte vorbehalten.

    de_DEGerman
    en_USEnglish sv_SESwedish da_DKDanish nb_NONorwegian fiFinnish fr_FRFrench pl_PLPolish arArabic it_ITItalian jaJapanese ko_KRKorean es_ESSpanish nl_NLDutch etEstonian elGreek de_DEGerman