Treffen der Symfony User Group Cologne

Bei der 7. Symfony User Group sind wir gespannt auf den Vortrag von Tobias Schlitt von Qafoo.

Inhalte:

Designing interfaces is an every days job for every programmer. But it's not only a job, it's an art. Be it a brand new application OO design, a shiny new module, in infrastructure library or just a single new class: All of them need a flexible, usable and extensible API. This talk gives a round up on essential rules that you need to obey in order to reach this goal.

 

Zeitplan:

19:30 - Get Together

20:00 - Tobias Schlitt: Designing Beautiful APIs

20:45 - Networking

 

Location:

SensioLabs Deutschland

Neusser Straße 27 - 29

50670 Köln

Google Maps: http://goo.gl/maps/dDGiC

Join or login to comment.

  • Alexandra S.

    1 · May 17, 2013

  • René

    Dass abstrakte Basisklassen dazu dienen, Teile eines Interfaces zu implementieren und die Methoden, die aufgrund von fehlenden Context-Informationen in den Kindklassen implementiert werden müssen, lediglich zu deklarieren, muss nicht weiter erleutert werden, denke ich.

    May 10, 2013

  • René

    Auch die Verwendung von Abstract Classes statt Interfaces, um, nach Herrn Schlitt's Worten den Programmierer dazu zu zwingen,"Seperation of Concerns" zu berücksichtigen, wenn er eine API verwendet, war etwas am Thema vorbei. Es zwingt den Entwickler lediglich dazu, seine Architektur, wenn er die API verwenden möchte, auf Basis der Klassen der API zu entwickeln, was eine ziemliche Restriktion darstellt. Ich persönlich würde einen solche API eher nicht verwenden, ich möchte mit einer API kommunizieren, nicht meine Anwendung auf diese Weise mit einer Third-Party-Library koppeln. Gute API sind so designed, das ein Austausch eher unproblematisch ist. Ansonsten fand ich die gezeigte Schrittweise Refaktorisierung schön und für Einsteiger durchaus angemessen, obwohl der Großteil des anwesenden Puplikums ja durchaus aus Entwicklern mit extremen OOAD-Hintergrund bestand.

    May 10, 2013

  • René

    Ein kleiner Nachtrag zum Vortrag:
    Von Herr Schlitt wurde das Thema DocBlock-Parsing in PHP respektive die Verwendung von Annotations angeschnitten, die er offensichtlich ablehnt.
    In Java werden die Annotations, die dort nicht Bestandteil des DocBlocks sondern reguläre Ausdrücke der Programmiersprachen sind, zunächst von einem Compiler übersetzt und die Runtime erzeugt später beim Abfragen über die Java Reflection API Proxy-Objekte, mit denen dann die genauen Inhalte einzelner Annotations abgefragt werden können, also bsw. für eine Annotation WebService(name="Authenticator") wird ein Proxy-Objekt erzeugt, auf dem dann die Methode name() aufgerufen werden kann.
    Defakto wird also auch dort der Source geparsed und es entsteht ebenfalls ein Overhead. Selbstverständlich werden auch in PHP optimalerweise DocBlocks nur einmal geparsed und die entsprechenden Metadaten gecached, dann aber sehe ich wiederum keinen Grund, Annotations in Java zu verwenden und in PHP nicht.

    May 10, 2013

  • Maik

    ...wir sitzen hier (wie erwartet) leider noch an der Beendigung unseres Sprints. Insofern wird es heute nicht mehr klappen bei mir ;(

    May 8, 2013

    • Thomas S.

      Hi Maik,

      Hoffe ihr konntet eure Sprints erfolgreich durchführen. Für die kommende UG Köln sind noch einige wenige Plätze frei! ;)

      May 10, 2013

  • Stephan T.

    Bin total platt. Werd es deswegen heute nicht schaffen. Wünsche euch aug jeden Fall viel viel Spass. Bis zum nächsten mal :)

    May 8, 2013

    • Thomas S.

      Hi Stephan,

      schade dass es nicht geklappt hat! Aber die nächste UG Köln steht ja schon fast in den Startlöchern! ;)

      May 10, 2013

  • Jens S.

    Wieder mal ein klasse Treffen mit gutem Vortrag und interessanter Diskussion. Das wünsch ich mir weiter für die Zukunft.

    1 · May 9, 2013

  • Tobias S.

    Danke für die interessanten Diskussionen gestern! So viel Feedback macht wirklich Spaß, das hat man nur selten. :)

    2 · May 9, 2013

  • Florian H.

    Cooler Vortrag. Prägnant, faktenreich und ließ Platz für Diskussion.

    2 · May 9, 2013

  • Philipp W.

    Gibt es ein günstiges Parkhaus in der Nähe?

    May 8, 2013

    • Matthias P.

      Glaube, die nördliche Seite des Theodor Heuss Rings geht um die Uhrzeit ziemlich gut und ist auch nicht teuer. (Ohne Gewähr!)

      May 8, 2013

    • Philipp W.

      Vielen Dank! Bis später!

      May 8, 2013

  • Ralf G.

    Hallo!

    Kurze Frage - ich bin neu in der Runde und heute zum ersten Mal dabei. Und zwar diese "Get-together"-Zeit von 19:30 Uhr - trudeln die Teilnehmer ab dann langsam ein, oder sollte man schon vorher, also um 19:30 Uhr da sein?
    Will ja nicht gleich unangenehm auffallen. ;-)

    Vielen Dank, Beste Gruesse & bis später,
    Ralf

    May 8, 2013

    • Thomas S.

      Hi Ralf,

      hier gibt es eigentlich keine Vorgaben. Du kannst gerne erst um 19.30 erscheinen oder auch schon vorher. In beiden Fällen wirst du definitiv nicht negativ auffallen! ;) See you later! ;)

      May 8, 2013

  • Raphi O.

    Ich bin am Mittwoch in München...

    May 6, 2013

    • Alexandra S.

      Hi Raphi, viel Spaß in München. Wir werden viele Fotos schießen und ggf. die Slides von Tobi online stellen, dann bist du auch im Bilde:)

      May 8, 2013

  • Per B.

    Ich schaffe es heute Abend leider doch nicht... Nächstes Mal wieder ;)

    May 8, 2013

  • Gero

    Leider muss ich auch kurzfristig passen :-(

    May 8, 2013

    • Alexandra S.

      Hi Gero, dann beim nächsten Mal - bei euch im Mediapark. Grüße Alex

      May 8, 2013

  • Matthias B.

    na siha

    April 11, 2013

  • René

    Bis dahin wird er vielleicht schon einiges verstehen ;)

    February 19, 2013

Imagine having a community behind you

Get started Learn more
Henry

I decided to start Reno Motorcycle Riders Group because I wanted to be part of a group of people who enjoyed my passion... I was excited and nervous. Our group has grown by leaps and bounds. I never thought it would be this big.

Henry, started Reno Motorcycle Riders

Sign up

Meetup members, Log in

By clicking "Sign up" or "Sign up using Facebook", you confirm that you accept our Terms of Service & Privacy Policy