Page 19 - Design Patterns
-
Maxim Mironjuk
-
January 19, 2025
Implement ArgumentInterface, move logic out of Block classes, inject it via Layout XML, unit test it, and use it to full effect in the Hyva Theme, explained in full.
-
Maxim Mironjuk
-
January 18, 2025
Domain Driven Design in Symfony rarely fails because of a poor strategic understanding of the business domain and almost always fails at the tactical implementation in code. This article shows concretely how value objects, aggregate boundaries, repository interfaces and domain events are implemented in Symfony, without Doctrine attributes polluting the pure domain layer.
-
Maxim Mironjuk
-
January 16, 2025
A scroll progress bar shows readers of a long article at a glance how much content still follows and how far they have already come. With Alpine.js, this progress indicator can be built in a few lines, bound performantly to the scroll event, and shown either as a horizontal bar at the top or vertically on the page edge.
-
Maxim Mironjuk
-
January 13, 2025
A good Kanban board lives on clear column boundaries, readable cards and visible feedback while dragging. With Tailwind CSS for layout and states plus Alpine.js for drag-and-drop interaction, a board emerges that stays organized even with many cards and columns.
-
Maxim Mironjuk
-
January 11, 2025
The builder pattern creates complex objects step by step. In Magento 2 it matters most for SearchCriteria, filters, sort orders and stable configuration objects for services.
-
Maxim Mironjuk
-
January 08, 2025
Three lightweight alternatives to Redux, three different mental models. Recoil and Jotai rely on atoms as the smallest unit of state, Zustand relies on a single central store. This article compares bundle size, server state integration and maintenance status, so the choice rests on concrete criteria instead of gut feeling.
-
Maxim Mironjuk
-
January 05, 2025
A schema with three different styles for the same thing costs every team time, patience, and trust in the API. Clear GraphQL naming conventions for types, fields, mutations and enums make a schema self-explanatory and can be anchored in a team for good with a style guide and linting.
-
Maxim Mironjuk
-
January 02, 2025
A sidebar layout made of a fixed side column and a flexible main area sounds like a trivial task, yet it regularly breaks on long words, overflowing content and missing media queries. Flexbox delivers a solution through flex-basis, gap and the sidebar pattern that wraps automatically with no breakpoints at all, and controls visual order independently of the source code.
-
Maxim Mironjuk
-
January 02, 2025
Using Doctrine or Eloquent is easy, understanding why they work the way they do is not. Once you have built your own minimal ORM, hydration, unit of work, and identity map stop being abstract terms and become concrete decisions with clear trade-offs.
-