Design Patterns from Space!

We'll email you with updates

This course is in the planning stages

We all know that building an app where spaceships battle each other is geek-awesomeness. But what about building that app and learning the most powerful programming design patterns of all time!? We should totally do that!

Design patterns are much more than just scholarly topics: they are time-tested solutions to problems that we developers face every single day. We'll show you the best ones, by actually coding them and seeing how they help:

  • Most problems already have a solution: a design pattern!
  • Creational Patterns: Abstract Factory, Singleton, Builder, etc
  • Structural Patterns: Adapters, Bridges, Decorators & proxies!
  • Behavioral Patterns: Commands, Iterators, Visitors, Observers, etc
  • Delicious Patterns: Ice cream, cookies, pizza & donuts (not provided by the tutorial)

Finally sound super hipster when talking with other programmers ("Did you see how I used the Flyweight pattern?"). Oh, and take your Object-Oriented skills to a pro level.


Your Guides

Ryan Weaver

Questions? Conversation?

  • 2017-10-19 Victor Bocharsky

    Hi Marcin,

    Unfortunately, it's difficult to say any eat for now. We're working hard on PHPUnit tutorial right now, after it we plan to release a few JS tutorials first and probably one more PHP about Data Fixtures. Then, this course will be next I think. Anyway, you can spy on our roughly scheduled order here: https://knpuniversity.com/c...

    Cheers!

  • 2017-10-18 Marcin Frątczak

    hi, do you have new information about eta? :D

  • 2017-05-01 Wiktor Liszkiewicz
  • 2017-03-21 Kiber Math

    I want this coure so hard!

  • 2016-11-28 weaverryan

    Hey Игорь Грицишин :). No release date now - in fact (full disclosure) it's not in progress at this time (we're working on other courses). More information here - http://knpuniversity.com/sc... - unfortunately the status hasn't changed :(

  • 2016-11-26 Игорь Грицишин

    Hi Ryan/

    How about tthis course& When you are going to release it?

  • 2016-11-03 weaverryan

    Hi Davide!

    There's no progress on this tutorial yet - we were working with an outside contributor... who may not be helping anymore :/. But, your input here is *great*, because you have researched this stuff before and still have these questions. So, unfortunately, I can't give you any good news about this tutorial, but I do appreciate your input. In short: don't wait for us on this tutorial. But, I can say that I have learned design patterns best - including the more subtle details of *when* to use each - by reading source code of high quality libraries, including Symfony. In many cases (and this depends also on the language you're using), a pattern might be great, but just isn't used much in practice. An example is the flyweights pattern: this is used in the Symfony form component... but I don't think it's used elsewhere much. And it's only used there, for performance... which is uniquely important when you're developing a re-usable component. In other words, the flyweight pattern might be great... but isn't used in practice in real code very often. Anyways, reading source code to seek out where patterns are used is not the most direct approach, but a good one.

    Cheers and good luck!

  • 2016-11-02 Davide Pugliese

    Hello,
    I would like to know if there's any progress on this part.
    I found no other valuable resources on this matter aside from books; however I feel like these concepts would definitively need a deeper studying to really master them.

    After reading books and tutorials I am left with the following questions:
    1) When should I use a pattern instead of another one? You should make some examples (definitively more than one) of good design choices, by choosing the right pattern and show what happens when you choose a pattern for the wrong purpose;
    2) Given the x implementations of each pattern, what is the implementation which leverages good practices: SOLID programming, etc. ?
    For example you can create an Abstract Factory with static methods, however if you do so you violate the principles of SOLID.

    A brief introduction to the current version of UML used amongst the experts. UML went through some updates over the years and it is not clear to me which notation I should learn in the end.b
    This because usually you get a document from the architect written in UML and you must be able to understand it before writing the interfaces, the classes, etc.

    I could not find something like this in any other place.

    In order to get from junior to senior, I need to master this part because it's what the big companies ask you. If no update comes from your part, I am thinking of paying a professor to explain me these things. It's an investment for my future.

    Thank you.

    Regards,
    Davide

  • 2016-10-01 Anton Kostash

    Should be nice one course (as always :b) . Can't wait to check it when it comes out.
    For those, who wanna check patterns right now, there is good repo on Github - https://github.com/domnikl/...

  • 2016-09-26 weaverryan

    No progress unfortunately! Full disclosure: we're working to make sure we show good examples that show off the patterns and are based inside a real project. We're moving slowly on this one, honestly! No release date planned right now.

  • 2016-09-26 Maksym Minenko

    Any progress on this part?