<?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 Karpoke - Just Another Blog</title><link>http://karpoke.ignaciocano.com/tags/software-design/</link><description>Recent content in Software-Design on Karpoke - Just Another Blog</description><generator>Hugo -- 0.167.0</generator><language>es</language><lastBuildDate>Fri, 14 Nov 2025 22:19:05 +0100</lastBuildDate><atom:link href="http://karpoke.ignaciocano.com/tags/software-design/index.xml" rel="self" type="application/rss+xml"/><item><title>Clean Architecture; How To Keep Your Codebase Scalable Without Overengineering</title><link>http://karpoke.ignaciocano.com/2025/11/14/clean-architecture-how-to-keep-your-codebase-scalable-without-overengineering/</link><pubDate>Fri, 14 Nov 2025 22:19:05 +0100</pubDate><guid>http://karpoke.ignaciocano.com/2025/11/14/clean-architecture-how-to-keep-your-codebase-scalable-without-overengineering/</guid><description>&lt;blockquote&gt;
&lt;p&gt;Clean Architecture made practical. Stop drawing circles and see how to
apply the layers in a real mobile projects, explained by a dev for devs.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;» hackernoon.com | &lt;a href="https://hackernoon.com/clean-architecture-how-to-keep-your-codebase-scalable-without-overengineering"&gt;hackernoon.com&lt;/a&gt;&lt;/p&gt;</description></item><item><title>Strategic Refactoring: A Roadmap for Tackling Technical Debt Head-On</title><link>http://karpoke.ignaciocano.com/2023/08/10/strategic-refactoring-a-roadmap-for-tackling-technical-debt-head-on/</link><pubDate>Thu, 10 Aug 2023 19:56:04 +0100</pubDate><guid>http://karpoke.ignaciocano.com/2023/08/10/strategic-refactoring-a-roadmap-for-tackling-technical-debt-head-on/</guid><description>&lt;blockquote&gt;
&lt;p&gt;Explore strategies to tackle technical debt and enhance code quality.
Learn to balance business goals with refactoring for long-term success.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;» Ivan Novak | &lt;a href="https://www.ivannovak.com/blog/tackling-technical-debt-a-strategic-approach-to-refactoring"&gt;ivannovak.com&lt;/a&gt;&lt;/p&gt;</description></item><item><title>SOLID: Single Responsibility Principle With Examples</title><link>http://karpoke.ignaciocano.com/2023/07/27/solid-single-responsibility-principle-with-examples/</link><pubDate>Thu, 27 Jul 2023 09:08:59 +0100</pubDate><guid>http://karpoke.ignaciocano.com/2023/07/27/solid-single-responsibility-principle-with-examples/</guid><description>&lt;blockquote&gt;
&lt;p&gt;In this article, you will learn about the following: What is SRP?
Importance of SRP in software&amp;hellip;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;» DEV Community | &lt;a href="https://dev.to/ggorantala/solid-single-responsibility-principle-with-examples-h0f"&gt;dev.to&lt;/a&gt;&lt;/p&gt;</description></item><item><title>342 Stories To Learn About Software Architecture</title><link>http://karpoke.ignaciocano.com/2023/06/06/342-stories-to-learn-about-software-architecture/</link><pubDate>Tue, 06 Jun 2023 10:21:20 +0100</pubDate><guid>http://karpoke.ignaciocano.com/2023/06/06/342-stories-to-learn-about-software-architecture/</guid><description>&lt;blockquote&gt;
&lt;p&gt;Learn everything you need to know about Software Architecture via these
342 free HackerNoon stories.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;» hackernoon.com | &lt;a href="https://hackernoon.com/342-stories-to-learn-about-software-architecture"&gt;hackernoon.com&lt;/a&gt;&lt;/p&gt;</description></item><item><title>La regla del tres y la refactorización</title><link>http://karpoke.ignaciocano.com/2023/05/02/la-regla-del-tres-y-la-refactorizacion/</link><pubDate>Tue, 02 May 2023 15:01:03 +0100</pubDate><guid>http://karpoke.ignaciocano.com/2023/05/02/la-regla-del-tres-y-la-refactorizacion/</guid><description>&lt;blockquote&gt;
&lt;p&gt;La regla del tres es una regla muy común cuando estamos trabajando con
código y queremos refactorizar partes del código que sean idénticas o
muy muy similar&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;» Cecilio Álvarez Caules | &lt;a href="https://www.arquitecturajava.com/la-regla-del-tres-y-la-refactorizacion/"&gt;arquitecturajava.com&lt;/a&gt;&lt;/p&gt;</description></item><item><title>106 Stories To Learn About Clean Code</title><link>http://karpoke.ignaciocano.com/2023/04/13/106-stories-to-learn-about-clean-code/</link><pubDate>Thu, 13 Apr 2023 07:42:32 +0100</pubDate><guid>http://karpoke.ignaciocano.com/2023/04/13/106-stories-to-learn-about-clean-code/</guid><description>&lt;blockquote&gt;
&lt;p&gt;Learn everything you need to know about Clean Code via these 106 free
HackerNoon stories.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;» hackernoon.com | &lt;a href="https://hackernoon.com/106-stories-to-learn-about-clean-code"&gt;hackernoon.com&lt;/a&gt;&lt;/p&gt;</description></item><item><title>SOLID Definition – the SOLID Principles of Object-Oriented Design Explained</title><link>http://karpoke.ignaciocano.com/2022/04/09/solid-definition-the-solid-principles-of-object-oriented-design-explained/</link><pubDate>Sat, 09 Apr 2022 19:25:30 +0100</pubDate><guid>http://karpoke.ignaciocano.com/2022/04/09/solid-definition-the-solid-principles-of-object-oriented-design-explained/</guid><description>&lt;blockquote&gt;
&lt;p&gt;The SOLID design principles help us create maintainable, reusable, and
flexible software designs. Each letter in the acronym SOLID stands for a
specific principle. Here is what each letter in the acronym stands for:
S: Single responsibility princip&amp;hellip;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;» freeCodeCamp.org | &lt;a href="https://www.freecodecamp.org/news/solid-principles-single-responsibility-principle-explained/"&gt;freecodecamp.org&lt;/a&gt;&lt;/p&gt;</description></item><item><title>Why You Need to Stop Writing Unit Tests</title><link>http://karpoke.ignaciocano.com/2022/02/24/why-you-need-to-stop-writing-unit-tests/</link><pubDate>Thu, 24 Feb 2022 09:44:51 +0100</pubDate><guid>http://karpoke.ignaciocano.com/2022/02/24/why-you-need-to-stop-writing-unit-tests/</guid><description>&lt;blockquote&gt;
&lt;p&gt;The way you test has a huge impact on your codebase maintainability.
There is a simple way to improve it&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;» hackernoon.com | &lt;a href="https://hackernoon.com/why-you-need-to-stop-writing-unit-tests"&gt;hackernoon.com&lt;/a&gt;&lt;/p&gt;</description></item><item><title>SOLID - Los principios del diseño orientado a objetos - 1 er principio</title><link>http://karpoke.ignaciocano.com/2021/11/09/solid-los-principios-del-diseno-orientado-a-objetos-1-er-principio/</link><pubDate>Tue, 09 Nov 2021 22:23:00 +0100</pubDate><guid>http://karpoke.ignaciocano.com/2021/11/09/solid-los-principios-del-diseno-orientado-a-objetos-1-er-principio/</guid><description>&lt;blockquote&gt;
&lt;p&gt;SOLID - Los principios del diseño orientado a objetos Introducción SOLID
es&amp;hellip;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;» DEV Community | &lt;a href="https://dev.to/victor_canseco/solid-los-principios-del-diseno-orientado-a-objetos-1-er-principio-232h"&gt;dev.to&lt;/a&gt;&lt;/p&gt;</description></item><item><title>Adapter Pattern vs. Bridge Pattern</title><link>http://karpoke.ignaciocano.com/2021/10/04/adapter-pattern-vs-bridge-pattern/</link><pubDate>Mon, 04 Oct 2021 11:24:04 +0100</pubDate><guid>http://karpoke.ignaciocano.com/2021/10/04/adapter-pattern-vs-bridge-pattern/</guid><description>&lt;blockquote&gt;
&lt;p&gt;The Adapter pattern and the Bridge Pattern have brought along a lot of
confusion. In this post we&amp;rsquo;re&amp;hellip;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;» DEV Community | &lt;a href="https://dev.to/doekenorg/adapter-pattern-vs-bridge-pattern-11nd"&gt;dev.to&lt;/a&gt;&lt;/p&gt;</description></item><item><title>SOLID: Dependency Inversion Principle</title><link>http://karpoke.ignaciocano.com/2021/08/05/solid-dependency-inversion-principle/</link><pubDate>Thu, 05 Aug 2021 12:30:30 +0100</pubDate><guid>http://karpoke.ignaciocano.com/2021/08/05/solid-dependency-inversion-principle/</guid><description>&lt;blockquote&gt;
&lt;p&gt;This is the last article about the SOLID principles and in my opinion
the most important one&amp;hellip;.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;» DEV Community | &lt;a href="https://dev.to/victorpinzon1988eng/solid-dependency-inversion-principle-5f8m"&gt;dev.to&lt;/a&gt;&lt;/p&gt;</description></item><item><title>Open-closed principle</title><link>http://karpoke.ignaciocano.com/2021/07/15/open-closed-principle/</link><pubDate>Thu, 15 Jul 2021 14:38:27 +0100</pubDate><guid>http://karpoke.ignaciocano.com/2021/07/15/open-closed-principle/</guid><description>&lt;blockquote&gt;
&lt;p&gt;Open-Closed Principle (or OCP for short) states: Objects or entities
should be open for extension&amp;hellip;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;» DEV Community | &lt;a href="https://dev.to/eduardojuliao/open-closed-principle-1jdi"&gt;dev.to&lt;/a&gt;&lt;/p&gt;</description></item><item><title>Design Patterns: Builder</title><link>http://karpoke.ignaciocano.com/2021/07/05/design-patterns-builder/</link><pubDate>Mon, 05 Jul 2021 14:30:02 +0100</pubDate><guid>http://karpoke.ignaciocano.com/2021/07/05/design-patterns-builder/</guid><description>&lt;blockquote&gt;
&lt;p&gt;Welcome back to our series on design patterns. This week are tackling
the Builder pattern. It&amp;rsquo;s&amp;hellip;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;» DEV Community | &lt;a href="https://dev.to/tamerlang/design-patterns-builder-3e2g"&gt;dev.to&lt;/a&gt;&lt;/p&gt;</description></item><item><title>Understanding SOLID: Dependency Inversion Principle</title><link>http://karpoke.ignaciocano.com/2021/06/20/understanding-solid-dependency-inversion-principle/</link><pubDate>Sun, 20 Jun 2021 11:08:55 +0100</pubDate><guid>http://karpoke.ignaciocano.com/2021/06/20/understanding-solid-dependency-inversion-principle/</guid><description>&lt;blockquote&gt;
&lt;p&gt;What is the dependency inversion principle? The dependency inversion
principle is one of&amp;hellip;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;» DEV Community | &lt;a href="https://dev.to/sowmenappd/understanding-solid-dependency-inversion-principle-1i50"&gt;dev.to&lt;/a&gt;&lt;/p&gt;</description></item><item><title>S.O.L.I.D Principle - Open Closed Principle (OCP)</title><link>http://karpoke.ignaciocano.com/2021/06/15/s-o-l-i-d-principle-open-closed-principle-ocp/</link><pubDate>Tue, 15 Jun 2021 11:36:38 +0100</pubDate><guid>http://karpoke.ignaciocano.com/2021/06/15/s-o-l-i-d-principle-open-closed-principle-ocp/</guid><description>&lt;blockquote&gt;
&lt;p&gt;Open Closed Principle ini dapat didefinisikan sebagai berikut: 💡
Software entities (classes,&amp;hellip;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;» DEV Community | &lt;a href="https://dev.to/amalhanaja/s-o-l-i-d-principle-open-closed-principle-ocp-4a7k"&gt;dev.to&lt;/a&gt;&lt;/p&gt;</description></item><item><title>Are you a SOLID developer?</title><link>http://karpoke.ignaciocano.com/2020/11/29/are-you-a-solid-developer/</link><pubDate>Sun, 29 Nov 2020 22:42:42 +0100</pubDate><guid>http://karpoke.ignaciocano.com/2020/11/29/are-you-a-solid-developer/</guid><description>&lt;blockquote&gt;
&lt;p&gt;SOLID is an acronym for 5 object-oriented design principles formulated
by Robert Martin - @unclebobma&amp;hellip;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;» DEV Community | &lt;a href="https://dev.to/coderslang/are-you-a-solid-developer-5e30"&gt;dev.to&lt;/a&gt;&lt;/p&gt;</description></item><item><title>The SOLID principles of Object Oriented Design</title><link>http://karpoke.ignaciocano.com/2020/11/17/the-solid-principles-of-object-oriented-design/</link><pubDate>Tue, 17 Nov 2020 11:37:43 +0100</pubDate><guid>http://karpoke.ignaciocano.com/2020/11/17/the-solid-principles-of-object-oriented-design/</guid><description>&lt;blockquote&gt;
&lt;p&gt;What is SOLID? SOLID helps you to write code that is easy to maintain,
extend and understa&amp;hellip;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;» DEV Community | &lt;a href="https://dev.to/seymour7/the-solid-principles-of-object-oriented-design-53ho"&gt;dev.to&lt;/a&gt;&lt;/p&gt;</description></item><item><title>Memento Design Pattern Overview</title><link>http://karpoke.ignaciocano.com/2020/06/12/memento-design-pattern-overview/</link><pubDate>Fri, 12 Jun 2020 17:21:40 +0100</pubDate><guid>http://karpoke.ignaciocano.com/2020/06/12/memento-design-pattern-overview/</guid><description>&lt;blockquote&gt;
&lt;p&gt;Memento design pattern is a software design pattern that is used to roll
back an object to its previous state. It is a part of the behavioural
design pattern which is concerned with algorithms and assignment of
responsibilities between objects.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;» hackernoon.com | &lt;a href="https://hackernoon.com/memento-design-pattern-overview-4r7p3wol"&gt;hackernoon.com&lt;/a&gt;&lt;/p&gt;</description></item><item><title>SOLID CSS</title><link>http://karpoke.ignaciocano.com/2012/10/09/solid-css/</link><pubDate>Tue, 09 Oct 2012 21:02:00 +0100</pubDate><guid>http://karpoke.ignaciocano.com/2012/10/09/solid-css/</guid><description>&lt;blockquote&gt;
&lt;p&gt;CSS was meant to style academic documents and simple sites (eg. wiki,
blogs) where the cascade and descendant selectors makes a lot of
sense. Unfortunately many sites we build nowadays are way more complex
than that, and what used to work on simple projects doesn’t scale very
well. We need to find smarter ways to code CSS to avoid the common
issues and re-think the way we do our work. We should learn from the
experience of other devs working in different domains, and apply into
our own domain. Things like separation of concerns, modularity,
encapsulation, DRY can (and should) be applied to large scale CSS
projects as well. The main problem is that most people who are good at
CSS doesn’t necessarily have a Computer Science background, most of
them started as designers and learned CSS by themselves (that was my
case¦). That’s the main reason why I’m writing this post.&lt;/p&gt;
&lt;p&gt;I won’t get into too much details/examples but will try to explain
briefly each concept. Some of the SOLID principles are open to
multiple interpretations on the CSS context - since we are shoehorning
the concepts - that’s one of the reasons why I decided to not give
detailed examples. I also think we should understand the idea and not
be tied to a specific implementation.&lt;/p&gt;
&lt;/blockquote&gt;</description></item><item><title>in which three programming methods are compared</title><link>http://karpoke.ignaciocano.com/2012/06/25/in-which-three-programming-methods-are-compared/</link><pubDate>Mon, 25 Jun 2012 11:25:00 +0100</pubDate><guid>http://karpoke.ignaciocano.com/2012/06/25/in-which-three-programming-methods-are-compared/</guid><description>&lt;blockquote&gt;
&lt;p&gt;There are, roughly speaking, three ways to develop large user-facing
programs, which we will refer to here as 0) the Unix way, 1) the Emacs
way, and 2) the wrong way.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;» &lt;a href="http://technomancy.us/161"&gt;technomancy.us&lt;/a&gt;&lt;/p&gt;</description></item><item><title>Microcódigo en mi código</title><link>http://karpoke.ignaciocano.com/2012/06/21/microcodigo-en-mi-codigo/</link><pubDate>Thu, 21 Jun 2012 18:10:00 +0100</pubDate><guid>http://karpoke.ignaciocano.com/2012/06/21/microcodigo-en-mi-codigo/</guid><description>&lt;blockquote&gt;
&lt;p&gt;El micro-código corresponde tradicionalmente con la forma más ”pura”
de firmware, instrucciones al fin y al cabo, que controlan una
máquina. Si no te suenan los términos, puede ser una lectura
interesante si quieres conocer cómo funciona un procesador.&lt;/p&gt;
&lt;p&gt;Pero no es de hardware de lo que quiero hablar, sino de una forma
(curiosa u obvia, de ti depende) de escribir ciertas partes de
nuestros programas, que toma la idea básica de las lógicas
micro-programadas.&lt;/p&gt;
&lt;/blockquote&gt;</description></item></channel></rss>