Learn it from developers who built it.
Tutorials, how-tos and deep dives on AI, .NET, C#, cloud and developer tools, written by the community.
A deep dive into Intent-Based Architecture in .NET 8 explores how to design smarter, context-aware applications that move beyond traditional REST endpoints. Ideal for developers building adaptive, AI-ready systems using modern .NET tools.
Explore the ethical responsibilities of software engineers and how technical decisions impact society. Learn why ethics in coding, data, AI, and UX is crucial to building responsible and inclusive technology.
Vertical Slice Architecture organizes code by features rather than technical layers. Each “slice” encapsulates all aspects of a specific feature, including the UI, business logic, and data access.
Discover why Domain-Driven Design (DDD) is essential for real-world projects. Learn how it helps tackle complex business logic, improve code structure, and align software with business goals.
Enterprise software development empowers organizations to optimize processes, boost productivity, enable automation, and ensure scalability through custom, secure, and future-ready digital solutions.
Event-driven architecture (EDA) enables scalable, decoupled, and resilient systems using message brokers like Apache Kafka, RabbitMQ, and Azure Service Bus. Each offers unique features for different use cases.
Learn how to modernize your RabbitMQ messaging by migrating from Classic Queues to Quorum Queues.
The Open/Closed Principle encourages extending software functionality without modifying existing code. It enhances flexibility, reduces bugs, and promotes maintainability by using interfaces and polymorphism for scalable, change-resilient design.
Explore the Theory of Clarity in software development by diving into SRP (Single Responsibility Principle), SSOT (Single Source of Truth), and SVOT (Single Version of the Truth).
This code demonstrates the Single Responsibility Principle by separating concerns: salary calculation, report generation, and data persistence are handled by dedicated classes, keeping the Employee class clean.
The SOLID principles are five key object-oriented design guidelines—Single Responsibility, Open/Closed, Liskov Substitution, Interface Segregation, and Dependency Inversion—aimed at writing clean, maintainable, and scalable software systems.
Solution architecture is focused mainly on the understanding of the business requirements and based on that need to design the project. Solutions should be designed in a way that it will be easy for maintenance and updates.
Screaming Architecture ensures your codebase clearly reflects its purpose. Aligned with Clean Architecture, it prioritizes business logic over frameworks, improving maintainability, scalability, and clarity in .NET and C# development.
How to set Authentication and Authorisation in the NATS Message Queue. Explore NATS authentication techniques, including Username/Password, Tokens, NKEY, JWT, and custom methods. Understand security hierarchies and implementation practices.
What is the Cynefin Framework, and how does it align with Domain-Driven Design (DDD)? The Cynefin framework helps decision-makers navigate complex problems by categorizing them into five domains. It complements Domain-driven Design (DDD) by addressing complexity.
This session introduces OWASP's Top 10 vulnerabilities, emphasizing proactive security in web development. Covering each category, it promotes secure coding practices to prevent financial loss and data breaches.
This article will change your perspective on working with the Single Responsibility Principle (SRP). The main point is to focus on finding balance when designing object-oriented systems and applying SRP.
The API Gateway pattern centralizes client requests, managing authentication, logging, rate limiting, and load balancing, optimizing resilience and scalability in complex microservice architectures through a single entry point.
This guide covers key concepts like API integration, scalability, and real-time traffic data, enabling you to leverage cloud computing for enhanced geographic information systems. Optimize your navigation applications today.
Choosing between relational databases and NoSQL databases involves understanding their key differences, strengths, and weaknesses. Relational databases excel in structured data and ACID compliance, making them ideal for applications requiring data integrity.
In this article, we will explore how these concepts drive effective software modeling, ensuring alignment between the business domain and your codebase.
Understand the phases of the Software Development Lifecycle (SDLC), including planning, design, testing, and implementation, and how they contribute to delivering robust, scalable software.
Design patterns are essential in software development, divided into architectural and application/code-level patterns. Architectural patterns guide the high-level structure of software, ensuring components communicate effectively, are secure, and scalable.
Microservices design software as collection of small, independent services, each handling a specific function. They allow independent deployment, scalable resources, and diverse technologies. Benefits include flexibility, fault isolation, and easier updates, but they introduce complexity and require robust management.
Abstract Data Types (ADTs) are a fundamental concept in computer science, representing data structures defined by their behavior rather than their implementation. ADTs provide a way to model data and operations, enabling encapsulation and abstraction.
The principles of scalable system design focus on creating architectures that can efficiently handle increasing loads. Key aspects include load balancing, fault tolerance, and performance optimization.
In this article, we will explore its use cases in microservices and domain-driven design, focusing on event sourcing, command and query handling, and optimized data management.
Clean Architecture is a software design philosophy that emphasizes creating maintainable, testable, and understandable systems by following principles like separation of concerns, dependency inversion, and encapsulation.
In the software development process it is very necessary to use a model of development to show that the whole team can follow a proper sequence of development process . We have many development models in the option so it becomes confusing to choose any one among the many models .
This content explores the fundamentals of two-tier and three-tier architecture, key models in software system design. It covers their structures, components, and functionalities, highlighting the client-server relationship, database integration, and application layers.
Everything on Software Architecture/Engineering, not only its articles: the Software Architecture/Engineering page →
Write an article and earn +1,000 SHARP when it is approved.
Write an article