1 / 41

Einführung in Cocoa

Einführung in Cocoa. Re-usable Content in 3D und Simulationssystemen Prof. Dr. Manfred Thaller, SS 2012 Do, 14-15.30 Uhr, Archäologie-Pool Referent: Nelson Marambio. Framework vs. Klassenbibliothek. Klassenbibliothek (z.B. Java): ausformulierte Attribute. Framework vs. Klassenbibliothek.

Download Presentation

Einführung in Cocoa

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Einführung in Cocoa Re-usable Content in 3D und Simulationssystemen Prof. Dr. Manfred Thaller, SS 2012 Do, 14-15.30 Uhr, Archäologie-Pool Referent: Nelson Marambio

  2. Framework vs. Klassenbibliothek • Klassenbibliothek (z.B. Java): ausformulierte Attribute Einführung in Cocoa

  3. Framework vs. Klassenbibliothek • Klassenbibliothek (z.B. Java): ausformulierte Attribute  Werkzeuge zu verschiedenen Bereichen, keine Spezialisierung Einführung in Cocoa

  4. Framework vs. Klassenbibliothek • Klassenbibliothek (z.B. Java): ausformulierte Attribute  Werkzeuge zu verschiedenen Bereichen, keine Spezialisierung • Framework: Bibliothek + Grundgerüst für grafische Anwendung Einführung in Cocoa

  5. Framework vs. Klassenbibliothek • Klassenbibliothek (z.B. Java): ausformulierte Attribute  Werkzeuge zu verschiedenen Bereichen, keine Spezialisierung • Framework: Bibliothek + Grundgerüst für grafische Anwendung (Dummy)  Auswahl je nach Kontext, dabei implizite Bedarfsformulierung notwendig Einführung in Cocoa

  6. Framework • Dummy: enthält „tote“ GUI Einführung in Cocoa

  7. Framework • Dummy: enthält „tote“ GUI • Klassenbibliothek konkret implementiert Einführung in Cocoa

  8. Framework • Dummy: enthält „tote“ GUI • Klassenbibliothek konkret implementiert • Benutzer programmiert nicht völlig neu, sondern überschreibt gesetzte Standardwerte /-routinen Einführung in Cocoa

  9. Framework • Dummy: enthält „tote“ GUI • Klassenbibliothek konkret implementiert • Benutzer programmiert nicht völlig neu, sondern überschreibt gesetzte Standardwerte /-routinen • Framework setzt Benutzer [sinnvolle] Grenzen Einführung in Cocoa

  10. Framework • Dummy: enthält „tote“ GUI • Klassenbibliothek konkret implementiert • Benutzer programmiert nicht völlig neu, sondern überschreibt gesetzte Standardwerte /-routinen • Framework setzt Benutzer [sinnvolle] Grenzen  Was das Framework nicht vorsieht, kann der Benutzer nicht implementieren Einführung in Cocoa

  11. Cocoa: Historie • Basiert auf Betriebsystem NeXTStep (Produkt der Firma NeXT, Gründer: Steve Jobs) Einführung in Cocoa

  12. Cocoa: Historie • Basiert auf Betriebsystem NeXTStep (Produkt der Firma NeXT, Gründer: Steve Jobs) • Später: NeXTStep Grundlage für MacOS X Einführung in Cocoa

  13. Cocoa: Historie • Basiert auf Betriebsystem NeXTStep (Produkt der Firma NeXT, Gründer: Steve Jobs) • Später: NeXTStep Grundlage für MacOS X • [daher Präfix NS bei Datentypen / Klassen] Einführung in Cocoa

  14. Cocoa: Historie • Basiert auf Betriebsystem NeXTStep (Produkt der Firma NeXT, Gründer: Steve Jobs) • Später: NeXTStep Grundlage für MacOS X • [daher Präfix NS bei Datentypen / Klassen] • Konsequente Objektorientierung Einführung in Cocoa

  15. Cocoa: Allgemein • MVC Einführung in Cocoa

  16. Cocoa: Allgemein • MVC = Modell-View-Controller Einführung in Cocoa

  17. Cocoa: Allgemein • MVC = Modell-View-Controller • Modell: konkrete Nutzdaten innerhalb der Anwendung Einführung in Cocoa

  18. Cocoa: Allgemein • MVC = Modell-View-Controller • Modell: konkrete Nutzdaten innerhalb der Anwendung • View: grafische Elemente zur Visualisierung des Modell Einführung in Cocoa

  19. Cocoa: Allgemein • MVC = Modell-View-Controller • Modell: konkrete Nutzdaten innerhalb der Anwendung • View: grafische Elemente zur Visualisierung des Modell • Controller: ermöglicht Kommunikation zw. Modell und View  eigentliche Anwendungs-Logik Einführung in Cocoa

  20. Architektur • Zentrales Objekt NSApplication Einführung in Cocoa

  21. Architektur • Zentrales Objekt NSApplication Mutterschiff ? Einführung in Cocoa

  22. Architektur • Zentrales Objekt NSApplication Mutterschiff ? Telefonvermittlung ! Einführung in Cocoa

  23. Architektur • Zentrales Objekt NSApplication Mutterschiff ? Telefonvermittlung ! • leitet Nachrichten / Ereignisse an zuständige Klassen weiter Einführung in Cocoa

  24. Architektur • Zentrales Objekt NSApplication Mutterschiff ? Telefonvermittlung ! • leitet Nachrichten / Ereignisse an zuständige Klassen weiter • Prinzip: Delegates, Klassen stehen parallel zu NSApplication, keine Ableitung Einführung in Cocoa

  25. Protokolle • Protokoll: Menge von Methoden, die der Interaktion von Objektion dienen Einführung in Cocoa

  26. Protokolle • Protokoll: Menge von Methoden, die der Interaktion von Objektion dienen • Formelles Protokoll: Klasse muss Methode x implementieren (obligatorisch) Einführung in Cocoa

  27. Protokolle • Protokoll: Menge von Methoden, die der Interaktion von Objektion dienen • Formelles Protokoll: Klasse muss Methode x implementieren (obligatorisch) • Informelles Protokoll: Klasse kann Methode x implementieren (optional), häufiger benutzt Einführung in Cocoa

  28. Protokolle II • Informelles Protokoll wird über eine Kategorie umgesetzt Einführung in Cocoa

  29. Protokolle II • Informelles Protokoll wird über eine Kategorie umgesetzt • Vorhandene Klasse wird nicht abgeleitet, sondern erweitert (vgl. Delegates) Einführung in Cocoa

  30. Observer • Observer: schwächere Form der Delegates Einführung in Cocoa

  31. Observer • Observer: schwächere Form der Delegates • Eher informativer Charakter Einführung in Cocoa

  32. Observer • Observer: schwächere Form der Delegates • Eher informativer Charakter • Objekt_1 „bespitzelt“ andere Objekt_2 Einführung in Cocoa

  33. Observer • Observer: schwächere Form der Delegates • Eher informativer Charakter • Objekt_1 „bespitzelt“ andere Objekt_2 Objekt_2 weiß nichts von Beobachtung Einführung in Cocoa

  34. Observer • Observer: schwächere Form der Delegates • Eher informativer Charakter • Objekt_1 „bespitzelt“ andere Objekt_2 Objekt_2 weiß nichts von Beobachtung • Objekt_1 muss sich beim NotificationCenter für die Beobachtung von Objekt_2 registrieren Einführung in Cocoa

  35. Observer • Observer: schwächere Form der Delegates • Eher informativer Charakter • Objekt_1 „bespitzelt“ andere Objekt_2 Objekt_2 weiß nichts von Beobachtung • Objekt_1 muss sich beim NotificationCenter für die Beobachtung von Objekt_2 registrieren Einführung in Cocoa

  36. Target-Action • Verbindung von [mitteilender] Methode eines Objekts an einen reagierenden Controller Einführung in Cocoa

  37. Target-Action • Verbindung von [mitteilender] Methode eines Objekts an einen reagierenden Controller • Einziges Argument: Referenz auf Sender der Nachricht Einführung in Cocoa

  38. Target-Action • Verbindung von [mitteilender] Methode eines Objekts an einen reagierenden Controller • Einziges Argument: Referenz auf Sender der Nachricht Einführung in Cocoa

  39. Programmieren ???? Einführung in Cocoa

  40. Programmieren !!! Objective-C !!! Einführung in Cocoa

  41. Literatur • K. Surendorf, M. Hardt: Einstieg in Objective-C 2.0 und COCOA • Artikel „Framework“, http://en.wikipedia.org/wiki/Software_framework Einführung in Cocoa

More Related