Why I Don't Use Domain-Driven Design

2024-12-29

Tony Marston, a seasoned software developer with four decades of experience building enterprise applications, explains why he doesn't use Domain-Driven Design (DDD). He argues that DDD overemphasizes object-oriented design theory at the expense of database design and code reusability in large systems. He prefers a layered architecture with a separate class for each database table, leveraging inheritance and the Template Method pattern for code reuse. Marston believes this approach better suits real-world projects and increases development efficiency.

Read more

The PHP Static Typing Debate: Flexibility and Efficiency of Dynamic Languages

2024-12-14

In this article, Tony Marston vehemently criticizes the enforced static type checking changes introduced in PHP 8.1. He argues that this change violates the core design principles of PHP's dynamic typing, clashing with PHP's long-standing flexible approach to data type handling and imposing a significant workload on developers. The article delves into the advantages of PHP's dynamic type system, such as automatic type conversion and flexible data handling, pointing out that the performance benefits of static typing are negligible in modern hardware, while hindering development efficiency. Marston contends that PHP's dynamic type system is better suited for handling HTML frontend and SQL backend data, and that enforcing static type checking is counterproductive, negatively impacting the PHP community.

Read more