architecture

All my posts about architecture.

Commands, events, global functions and testing

Tony Messias on the madewithlove-blog:

The other day I was listening to the FullStackRadio episode 34 which is about dealing with dependencies in Active Record models. This is a very interesting topic and they suggest a few solutions for it. I liked the suggestions and I tried to implement it differently (first try and second try).

After that, I decided to talk to my colleagues about the design implementations. And they asked “why not implementing it as a command?”. At first sight I was a bit reluctant, because I’m starting to think applications are getting more complex then it really needs. Then I decided to implement it and the end result was the best one to us. Let’s discuss it a bit.

http://blog.madewithlove.be/post/commands-events-global-functions-and-testing/

Read more

Messages in PHP

Matthias Noback continues his highly interesting series of posts with programming guidelines. Part four is about messages.

Besides having a type and a particular value, messages can also be categorized:
  • A command message is a request for change. One object wants to make the other object do something.
  • A query message is a request for information. One object wants to get something from the other object.
  • A document message is the response from the other object, based on the query that was sent to it.
https://www.ibuildings.nl/blog/2016/02/programming-guidelines-part-4-messages

Read more

Join 9,500+ smart developers

Get my monthly newsletter with what I learn from running Spatie, building Oh Dear, and maintaining 300+ open source packages. Practical takes on Laravel, PHP, and AI that you can actually use.

No spam. Unsubscribe anytime. You can also follow me on X.

Shaping your technical patterns based on your organizational patterns

Most outlets of technical information (whether high profile developers, companies, etc…) focus on architectural patterns and there’s never any talk about organizational patterns. In other words, does the architectural pattern that you choose fit your organizational pattern?
http://eli4d.com/2015/12/23/fullstack-radio-podcast-episode-with-dhh-shaping-your-technical-patterns-based-on-your-organizational-patterns/

Read more

Extract till your drop

Watch a very instructive live coding session with Matthias Verraes.

Under the pressure of deadlines and endless change requests, under the weight of years of legacy, code becomes unmaintainable. With the right tools, techniques, and mindset, any codebase can be brought under test, and be refactored towards a better architecture. Let's skip the theory and dive straight into the spaghetti code. In a live coding session, I will demonstrate how you can start refactoring your way out of a mess today.

Read more

What about "final" and "private"?

There was much discussion on Twitter about the concepts of using “final” and “private” in objects, and what exactly the best practices are. The conversation seemed to boil down to three distinct questions:
  • Should an object be open for extension, and expose its internals for that purpose?
  • Does exposure of those internals create a de facto contract with children for their behavior?
  • Should software only be used as intended by its designers, or should it be modified, extended and changed by the end user to fit certain, specific goals?
http://www.brandonsavage.net/what-about-final-and-private/

Read more

Trees vs facets vs tags

... any CMS managing any sizeable amount of data needs to support trees. Anything else will lead to an unmanageable mess. However, systems with smaller sets of content, especially with a smaller group of authors, can get away with tagging as well. Facetting only really works well with a system that stores content that is highly structured at least on a per node type basis.
http://www.sitepoint.com/cms-content-organization-structures-trees-vs-facets-vs-tags/

Read more