[Playlisten] [Impressum und Datenschutzerklärung]

08.1_2 Design Patterns, Singleton-Pattern


CC-BY-NC-SA 3.0

Tempo:

Anklickbares Transkript:

dieEntwurfsmustersindein Meilensteinbei der objektorientiertenProgrammierungEntwurfsmusterhaben vieleSprachregelungenleiten sich von EntwurfsmusternherFunktionenin den aktuellen Programmiersprachenleiten sich aus Entwurf des Herrngroß Muster oder Design Patterns wahrscheinlich finden Sie die Ehe unter dem Namen Design Patterndie stammen aus der Architekturvon Herrn Christopher Alexanderinder sich überlegt hat wie denn zum Beispielwie man ein Straßennetzbaut für eine Stadt gibt's allgemeine RichtlinienanerkannteModelle wie man Straßennetzegestalten muss Gips anerkannte Richtlinien dafür wichen Torburgenbauen muss wobei ich den Hindi führe ich den außen soweit unser Vater stammt aus der ArchitekturerprobteLösungenfürallgemeineProblemesondern auch vor allgemeiner Ware erprobte Lösung für alldem nicht klitzekleinen definiert sondernein Muster ebenerdig übertragen kann deshalb groß muss ein Muster das sich auf andere Problemeandere konkrete Probleme andere konkrete Fragenübertragen kannmandavon gibt eselend vielezum Einsatz nicht mit demsimpelsteanfangedessen Idee kriegen wozu das da istdas simpelste ist das Singelternsegelten erstahnendas allein geboreneKind im Unterschied zum Zwillingklingeltendie alleindie Klasse die allein bleiben mussgenau seit Instanz den allein bleiben muss die Frage beim singendenProblem beim singenden istwie schaffe ich es eine Klasse zu schreibenund es nur eine einzige Instanz geben kannPunktwas soll der Unsinn ?? möchte ich eine Klasse schreibe einen Bauplanvon dem es nur eine einzige Ausführung geben kann ein Unikat nur geben kann niemals singen deshalb den am SingenamBau möchte ich ?? Unikat haben zum Beispiel um sowas zu motivieren wiediedes Rechners gibt's nur einmalmöchte ich nicht dass jemand zweite angeregter das System Laufwerk gibt's nur einmal möchte ich euch das jemand Zweites ansehr hilfreichfür ?? Ding hat was es nur einmal geben kann ganz sicher sein kann es kannniemand ein zweites davon war dafür singenden ??unddafür gibt es vorgefertigteLösunghabenund die heißt danndas Klingeltonpatterndas EntwurfsmusterMustersinge Tanzszenengar ?? zusammen die Klassen entzündetendanach ?? natürlichanders heißen ich nenne sie jetzt ??sowie das Entwurfsmusterinich möchte das niemandeine weitere Instanzvon dieser Klasse Punktdie einzige Chance Beistrich sage okay es gibt keinen öffentlichenKunstfaktorich mache den Kunsttraktorprivatdas ist die?? das ist der erste Schritt ?? sagen es gibt keinen öffentlichen Traktordas so machen wenn wir nicht fertigstellenwenn ihr nicht Panik stehtkönnt ja jeder Komma schnell eins bauenFaktor öffentlich istwenn sie aber sagen etwas aktuelles privatkannniemand einzubauenaußer dieser Klasse selbstdas war schon immer sicher in sie scharfes S Parameter gar nicht dastehen ich schreib das mal einfach ganzdahinter klarzumachendas ist also privat gar nicht erforschtso der Kontakte wird privates muss aber trotzdem irgendwiedoch eine Instanz kriegenund der Trick ist dann macht eine starke Funktionöffentlichund statischstatisch sein weil ich noch keine Instanz habe wenn ich einewohlnicht sein das jeder Instanz holen kann?? berichtigen und auf meinenScripts Geldinstanz ermächtigendiese Methode liefert einzigen Götterneine Instanz davon zurück und habe sie genannt ?? Instanzvordas heißt er muss leider drin stehen wie der tatsächlich an seine Instanz kommtnun der Gedanke istdiese Klasse merkt sich in einer statischen Variablewas denn eine einzige Instanzist dies von ihr gibtauch als ihr noch eine private?? hervorstaticehervariabelsingend die sagt was denn die Instanz isteinDienstso wenn ich jetzt von außen jemand fragtnoch das eine Dingist als aller erstes nachwischen als gebaut habe am Anfang ist Instanzgleich mal selbst gar nicht gebautgebaut habemindestenseins gebaut habe baue ich esmindestens?? ist gleichnunumzingeltenich selbst darf das machen in der Klasse selbst etwas aktuelles privataber in der Klasse selbst dafür den ?? aufrufen ist es okayalso wenn ich noch keins gebaut habe Beistrich einsund dann durch daszurückKomma dass es singendenversilberten Einbrüchenun werden sie Nummer paar Sachen zu erzählen was sie wahrscheinlich ist ausprüfender construction ist Private mit mir niemandaußer der Klasse selbstsein Ding machen kann?? das ist das Ion der privateTraktorprivat ist ebenfallsdiese Referenzauf daseine Ding was ich jemals bauen werde das nämlich Instanzdas behalte ich für michstatischals Teil der Klasse die Klasse merkt sich diese eine Instanz die sie jemals bautdas einzige was nach außen sichtbar es ist das hierich kann die Kasse bitten die Klasse tätig ?? ich kann die Klasse bittenmir diese eine Instanz zu gehenwenn ich das Objekt noch nicht gebaut habe baue ich es an dieser Stellemännliche schon gebaut habedemnächst direkt zurückwenn ich dann war es gebaut haben gewiss auch zurück in jedem Fall gebe ich dann eine Referenz auf dieses Objekt zurückan diesesDing hier das heißtlässt sie initial als englischeBegriffe ?? habensiejaselbst war indiefaule Initialisierungsolange niemand fragtsolange niemand nach dieser Instanz fragtbaue ich auch gar keinedas nennt sich Nähe sehenkönne immer hoffen das niemand fragtmüsse man den vorher Baudiesevor mir dass es für die das ist die Grundform ?? kam es lange darüber diskutieren ob die so sinnvoll ist was passiert wenn ich jetztauf mehreren Kernen Parallelarbeitund so weiter das etwas schwierig aber zumindest die mal in die Grundidee von dem singendenwichtigste ist ich mache den Kostenfaktor privat zu dass niemand außer der Klasse selbsthabeneine Instanz davon Punktdas nennt sichnachher alles zusammengenommenumzingelten weichen obendrein auch dafür Sorgedas nurandas nur maximaleinmal wirklich auf dieses nunvielleicht wird es sogar niemals aufgerufenwenn niemals jemand nach Geldinstituts fragtsogar niemals Deckungsfaktor aufgerufendas wäre dann diesesmedizinischelasse ich sofort einen Satzbau sondernwarte auf den fragtHerrndas ist das billigste Pattern von allenich habe einrelativabstraktesProblemverpackt Max ?? Problem ist ich hätte gerne eine Klasseund erst maximaleine Instanz geben kannKlasse bei der ausgeschlossenist das es zwei drei vierdrei tausend Instanzen gibt von der Klasse?? und es hat man hier ein Muster wie man das lösen kanndas ist kein Algorithmusnicht sowas im letzten Semesterwie sortiere ich wie suche ich an das ist vielmehreine Art wie man eine Klasse baut typischerweisebei den meisten Mustern spielen mehrere Klassen zusammen jetzt eine einzige Klasse das macht es ziemlich billig bei den meisten Mustern aber mehrere Klassen die nettzusammen spielen Teamplayer sindander sie nicht wirklich Algorithmen die man hier beschreibt sondernArchitekturenwas das auf das CD der Entwurfsmuster aus der ArchitekturstadtgezogenobjektorientierteArchitektur und Softwarearchitekturbaue ich bestimmte Sachen zusammenmit den Mitteln der Objektorientierung