<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/">
  <channel>
    <title>Software-Design on ByteCrafted</title>
    <link>https://bytecrafted.dev/categories/software-design/</link>
    <description>Recent content in Software-Design on ByteCrafted</description>
    <image>
      <title>ByteCrafted</title>
      <url>https://bytecrafted.dev/favicons/android-chrome-512x512.png</url>
      <link>https://bytecrafted.dev/favicons/android-chrome-512x512.png</link>
    </image>
    <generator>Hugo -- 0.155.2</generator>
    <language>en</language>
    <lastBuildDate>Mon, 12 Jan 2026 00:00:00 +0530</lastBuildDate>
    <atom:link href="https://bytecrafted.dev/categories/software-design/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>Delete-Driven Design: How to Write Code You Can Remove</title>
      <link>https://bytecrafted.dev/delete-driven-design-how-to-write-code-you-can-remove/</link>
      <pubDate>Mon, 12 Jan 2026 00:00:00 +0530</pubDate>
      <guid>https://bytecrafted.dev/delete-driven-design-how-to-write-code-you-can-remove/</guid>
      <description>A senior-engineer perspective on designing software for safe deletion. Why delete-ability exposes bad boundaries, premature abstractions, brittle tests, and what to optimize for instead.</description>
    </item>
    <item>
      <title>Why Most Service Layers Make Code Worse</title>
      <link>https://bytecrafted.dev/why-most-service-layers-make-code-worse/</link>
      <pubDate>Mon, 05 Jan 2026 00:00:00 +0530</pubDate>
      <guid>https://bytecrafted.dev/why-most-service-layers-make-code-worse/</guid>
      <description>Why service layers often turn into transaction scripts, create anemic domain models, and make testing harder. A senior-engineer perspective on orchestration vs business logic.</description>
    </item>
    <item>
      <title>Avoid Anemic Domain Models</title>
      <link>https://bytecrafted.dev/clean-code-csharp-beyond-solid/avoid-anemic-domain-models/</link>
      <pubDate>Wed, 03 Dec 2025 00:28:50 +0530</pubDate>
      <guid>https://bytecrafted.dev/clean-code-csharp-beyond-solid/avoid-anemic-domain-models/</guid>
      <description>Learn why anemic domain models are a dangerous anti-pattern in C# and .NET. See how to build rich, encapsulated domain models with EF Core that are robust and maintainable.</description>
    </item>
    <item>
      <title>Stop Asking Your Objects Questions. Just Tell Them What to Do</title>
      <link>https://bytecrafted.dev/clean-code-csharp-beyond-solid/tell-dont-ask-principle/</link>
      <pubDate>Tue, 18 Nov 2025 00:00:00 +0000</pubDate>
      <guid>https://bytecrafted.dev/clean-code-csharp-beyond-solid/tell-dont-ask-principle/</guid>
      <description>Learn how the &amp;#39;Tell, Don&amp;#39;t Ask&amp;#39; principle eliminates behavioral dependencies in C# applications. Discover practical examples, common pitfalls, and refactoring techniques for cleaner code.</description>
    </item>
    <item>
      <title>12 SOLID Interview Questions for Experienced Developers</title>
      <link>https://bytecrafted.dev/solid-principles-interview-questions/</link>
      <pubDate>Mon, 08 Sep 2025 00:00:00 +0000</pubDate>
      <guid>https://bytecrafted.dev/solid-principles-interview-questions/</guid>
      <description>Boost your interview readiness with 12 essential SOLID principle questions for experienced developers focused on architecture and maintainable code.
</description>
    </item>
    <item>
      <title>Prefer Interfaces Over Abstract Classes in C#</title>
      <link>https://bytecrafted.dev/posts/c-sharp/prefer-interfaces-over-abstract-classes/</link>
      <pubDate>Wed, 16 Jul 2025 00:00:00 +0000</pubDate>
      <guid>https://bytecrafted.dev/posts/c-sharp/prefer-interfaces-over-abstract-classes/</guid>
      <description>Learn why preferring interfaces over abstract classes in C# improves code flexibility, testability, and maintainability for robust .NET applications.</description>
    </item>
    <item>
      <title>C# Polymorphism with Template, Strategy, Visitor</title>
      <link>https://bytecrafted.dev/posts/software-design/polymorphism-template-strategy-visitor/</link>
      <pubDate>Wed, 16 Jul 2025 00:00:00 +0530</pubDate>
      <guid>https://bytecrafted.dev/posts/software-design/polymorphism-template-strategy-visitor/</guid>
      <description>Learn how polymorphism in C# powers real-world patterns like Template Method, Strategy, and Visitor to write cleaner, extensible, and testable code.</description>
    </item>
    <item>
      <title>How Does Composition Support the SOLID Principles? (C# Examples &amp; Best Practices)</title>
      <link>https://bytecrafted.dev/posts/software-design/composition-supports-solid-principles/</link>
      <pubDate>Mon, 30 Jun 2025 00:00:00 +0530</pubDate>
      <guid>https://bytecrafted.dev/posts/software-design/composition-supports-solid-principles/</guid>
      <description>Learn how composition naturally enforces the SOLID principles in C#. This guide explains each SOLID principle with real-world code examples, showing why composition leads to cleaner, more maintainable, and testable code than inheritance.</description>
    </item>
    <item>
      <title>Composition Over Inheritance in C#</title>
      <link>https://bytecrafted.dev/posts/software-design/composition-over-inheritance/</link>
      <pubDate>Sun, 29 Jun 2025 00:00:00 +0530</pubDate>
      <guid>https://bytecrafted.dev/posts/software-design/composition-over-inheritance/</guid>
      <description>Learn why composition is preferred over inheritance in C# to write flexible, maintainable, and scalable code that follows clean design principles.</description>
    </item>
  </channel>
</rss>
