software development



Domain Driven Design: Introduction

  • avatar
  • 5.7K Views
  • 15 Likes
  • 3 mins read
Preview post image

Domain Driven Design, or DDD, is a software design approach that emphasizes solving business problems and organizing the corresponding logic, rather than focusing on details such as programming languages or infrastructure technologies. The primary goal of DDD is to map real-world systems or processes into software artifacts. In order to enhance our comprehension of the fundamentals of DDD, let's take a closer look at some crucial concepts.

Domain Driven Design with Laravel 9

  • avatar
Preview post image

Modern web frameworks teach you to take one group of related concepts and split it across multiple places throughout your codebase. Laravel is a robust framework with a big community behind it. Usually it's standard structure is enough for most starting projects.

Building scalable applications, instead, requires a different approach. Have you ever heard from a client to work on controllers or review the models folder? Probably never - they ask you to work on invoicing, clients management or users. These concept groups are called domains.

Domain Driven Design: Layers

  • avatar
  • 21.5K Views
  • 25 Likes
  • 5 mins read
Preview post image

Developing applications that can perform complex tasks can be a challenging process, and it requires careful planning and design. One approach to managing this complexity is to use a Layered Architecture. This architecture separates the application's code into layers, each with a specific responsibility and purpose. These layers are typically organized in a hierarchy, with higher-level layers depending on lower-level layers.

 Join Our Monthly Newsletter

Get the latest news and popular articles to your inbox every month

We never send SPAM nor unsolicited emails

Install PHPStan and configure for Laravel application

  • avatar
  • 12.4K Views
  • 12 Likes
  • 3 mins read
Preview post image

Unlike compiled languages, in PHP if you make a mistake, the program will crash when the line of code with the mistake is executed. When testing a PHP application, whether manually or automatically, developers spend a lot of their time discovering mistakes that wouldn’t even compile in other languages, leaving less time for testing actual business logic.

Domain Driven Design with Laravel 9: User domain

  • avatar
  • 9.6K Views
  • 16 Likes
  • 11 mins read
Preview post image

Modern web frameworks take one group of related concepts and split it across multiple places throughout your codebase. Laravel provides a very clear structure with large variety of tools to make the development easier and faster. Along with the huge community it makes Laravel a great option for most starting projects.

The Repository Pattern

  • avatar
  • 6.7K Views
  • 9 Likes
  • 8 mins read
Preview post image

In the ever-evolving world of software development, architects and developers strive to create scalable, maintainable, and robust applications. One of the key principles that aid in achieving these goals is the proper organization of data access and storage. The Repository Pattern is a fundamental architectural design pattern that provides a structured approach to handling data, making it an invaluable tool for developers. In this article, we will delve into what the Repository Pattern is, how it should be implemented, and provide some real-world examples of its application.

Domain Driven Design: Components

  • avatar
  • 5.7K Views
  • 8 Likes
  • 9 mins read
Preview post image

Previously, we explored the fundamental concepts and terminology utilized in Domain Driven Design (DDD), as well as the layers that make up its architecture. In this section, we will examine the artifacts employed to integrate these concepts and construct our application, using PHP as an example.

Criteria: PHP package for managing Criteria Pattern

  • avatar
  • 4.1K Views
  • 6 Likes
  • 5 mins read
Preview post image

The Criteria Pattern stands as a powerful tool, often hidden in the shadows of more commonly discussed design patterns. This pattern empowers developers to implement dynamic and customizable queries in their applications, enhancing flexibility and maintainability To facilitate this process, Criteria package provides the shared domain logic that contains abstract criteria implementation that each specific criteria should extend from.

Getting Started with Git operations and version control

  • avatar
  • 1.4K Views
  • 1 Like
  • 5 mins read
Preview post image

Git is a popular version control system that helps developers track changes in their code, collaborate with others, and manage project history efficiently. Created by Linus Torvalds in 2005, Git has become an essential tool for software development. It allows teams to work on different parts of a project simultaneously without overwriting each other's changes. By using Git, developers can keep their projects organized, track progress, and revert to previous versions when necessary.

Introduction to SOLID principles

  • avatar
  • 746 Views
  • 1 Like
  • 4 mins read
Preview post image

In software development, crafting code that is easy to understand, maintain, and extend is a high priority. One of the most effective ways to achieve this is by following the SOLID principles, a set of five design principles intended to improve the robustness and quality of object-oriented code. These principles, introduced by Robert C. Martin, are essential for developers aiming to produce clean and efficient code.