Talk in English - UK at PHPSW: Architecture, June 2019
View Slides: https://github.com/katzien/talks/blob/master/how-do-you-structure-your-apps/phpsw-2019-06-12/slides.pdf
Short URL: https://joind.in/talk/761af
(QR-Code (opens in new window))
How should I structure my code? What works best for object-oriented design? Is there an alternative to MVC? This talk will answer those questions and give an overview of common layouts and best practices to make projects testable, maintainable and easy to understand. We will also look at DDD and hexagonal / clean / onion architectures and go through a few different implementations of the same app to illustrate the pros and cons of each approach.
Comments
Comments are closed.
These London types coming down here telling us how to write our code properly. What’s wrong with writing rubbish code like we used to?
Great talk by Kat. Some interesting ideas, and I realised I was following DDD for a small project without realising it.
Ignore Andy Gales comment, it's great these London types come and speak to us ;)
Was going to comment on the lack of animated GIFs, but boom! Theres a gif.
Interesting take on having the tests along side the files instead of a separate folder. Will give that a go :)
Well done :)
The talk was really good. As a junior dev, all those talks make me understand that coding is not only writing code, but there are a lot of things to learn that makes me exicited about this world! Well done!
Real excellent talk, clear and concise, good examples and gave me something to think about outside of mvc :)
Interesting and engaging talk. Was nice to see some of the justification and reason behind application architecture in applications that, as a junior dev I have adopted in my role.
I'm constantly surprised with how many ways there are to approach a problem, let alone the many different ways you can structure an app.
Good stuff.
Great talk by Kat. Well delivered, good tone, speed and volume. Even as a 'muggle' I understood the first part which was nice (I'm not a dev so the hex architecture got confusing - no fault of kats!). Good recap and suggestions at the end.
Thanks to Kat for journeying from London!
This was great. I loved the use of beer reviews.
I think some of the funny could have been a bit bigger and you spoke a bit rushed.
I loved the use of visuals. I learnt some names for DDD artifacts I've used and seen without fully realising it.
Thank you!!
Fantastic talk, really good explanations.
Will be attempting DDD in future projects.
Great talk. This stuff is really tricky when you have to make the decisions yourself. I think you ended up pretty much at the point that I'm at, which is reassuring.
I thought some of your descriptions of th DDD terminology could have been better (eg Entity vs Value Object).
Or maybe that section isn't required at all?
Update:
I agree fully with Andy Gales comment :D
It’s always going to be good when Kat shows up. This talk was no exception and gave a great ‘detailed enough’ explanation of the various ways one can structure a project. Happy to be able to understand most of it. Will look forward to the slides.
For starters I also fully agree with Andy Gale :D
Great talk Kat! Presentation of a modern architecture based on academic research.
Devs many times skip the understanding of why you do something and just go with it. If we know why, we become better and can change it to our needs.
Generally good pace, great slides, going through the basics to the advance to help people of all levels.
Would still like some more details on some of the aspects of the DDD main keys that help form the final architecture.
Many kudos for this and thank you!
Forgot that part.
1. Completely agree with removing the Controller from a class name if it exists under the controllers directory and has the relevant namespace
2. Will definitely try the approach of having test files alongside the production files.
Great talk in every way, I'll be checking out the DD book, many thanks to Kat and the organisers.
A really good talk, good examples and interesting presentation. Too many pauses.