software design



Domain Driven Design: Introduction

  • avatar
  • 6.6K 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
  • 27.1K Views
  • 32 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

Domain Driven Design with Laravel 9: User domain

  • avatar
  • 11.1K 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.

Criteria: PHP package for managing Criteria Pattern

  • avatar
  • 8.2K 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.

The Repository Pattern

  • avatar
  • 7.9K 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
  • 6.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.

Getting Started with Git operations and version control

  • avatar
  • 1.7K 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.

Optimizing software delivery with DORA metrics

  • avatar
  • 585 Views
  • 1 Like
  • 3 mins read
Preview post image

In software development, delivering high-quality products efficiently is essential. The DORA framework provides metrics designed to help teams evaluate and improve their delivery practices. Developed by DevOps Research and Assessments, these metrics offer clear insights into key performance areas. Using the DORA framework can help your team identify weaknesses, optimize workflows, and achieve better results in your software projects. Let's explore what these metrics are and how they can help your team deliver better software, faster.

Adobe has agreed to acquire Figma for $20 billion

  • 1.1K Views
  • 1 min read
Preview post image

Adobe has announced that it's acquiring Figma, a popular design platform, for around $20 billion in cash and stock. Adobe made it official in a press release shortly after rumors surfaced early on Thursday about a potential acquisition. It's big news in the design and development world, particularly as Figma has been competing heavily with Adobe's XD products in recent years.