Three Design Patterns That Will Make You a Better Programmer


Comments are closed.

Very polished presentation, and of course I love having the code in github to go play around with it! Your three patterns were excellent choices--anyone who has used nearly ANY framework has seen a factory. :-) I also liked how you showed two forms of dependency injection--I'll admit, I tend to focus on your "first" styles: DI without a container and Chaining with a loop. But by showing me what was familiar than working up to better, more OO ways to structure my solution I could really see how I could improve readability and reuse. I'm also very glad to see you made the effort to show testing--certainly more of that! Very clean, polished and well rehearsed. Thank you for all your time preparing this!

I enjoyed the presentation. There were examples with each one of the patterns that were discussed which helped me understand more quickly the times when they would be most practical to use. All of them were immediately practical to almost anyone doing PHP work as those problems can come up on a regular basis.

Joseph, you did a great job delivering this talk and obviously put a lot of work into it. The effort to do a custom-created slide deck was evidence of the forethought you had. I especially liked the diagrams which helped me visualize the patterns.

I liked that the talk included some examples of writing testing. We can always benefit from more testing awareness! But it felt out of place. If I heard you correctly this was your first time writing tests. While that's fantastic and you should do more of that, I would suggest leaving the test code in the repository and not in slides unless the talk is specifically about testing. Not because you did it poorly but rather it likely went over the heads of your target audience. I remember how I felt looking at patterns for the first time... trying to wrap my head around objects and growing accustomed to PHP's object syntax. When I first started learning patterns it would take me several minutes to even read and understand a single page of code. By throwing testing into the mix I felt I was in cognitive overload.

That said, your presentation style and desire to push yourself will continue to serve you well. I look forward to seeing you talk more about what has been interesting you at future KC PHP meetups!