<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
	<channel>
		<title>Software Design on Gustavo Peiretti</title>
		<link>https://gustavopeiretti.com/categories/software-design/</link>
		<description>Recent content in Software Design on Gustavo Peiretti</description>
		<generator>Hugo</generator>
		<language>en</language>
		
		
		
		
			<lastBuildDate>Thu, 21 Dec 2023 00:00:00 +0000</lastBuildDate>
		
			<atom:link href="https://gustavopeiretti.com/categories/software-design/index.xml" rel="self" type="application/rss+xml" />
			<item>
				<title>SOLID principles with examples</title>
				<link>https://gustavopeiretti.com/solid-principles-with-examples/</link>
				<pubDate>Thu, 21 Dec 2023 00:00:00 +0000</pubDate>
				<guid>https://gustavopeiretti.com/solid-principles-with-examples/</guid>
				<description></description>
			</item>
			<item>
				<title>SOLID Dependency inversion principle</title>
				<link>https://gustavopeiretti.com/solid-dependency-inversion-principle/</link>
				<pubDate>Wed, 20 Dec 2023 00:00:00 +0000</pubDate>
				<guid>https://gustavopeiretti.com/solid-dependency-inversion-principle/</guid>
				<description></description>
			</item>
			<item>
				<title>SOLID Interface segregation principle</title>
				<link>https://gustavopeiretti.com/solid-interface-segregation-principle/</link>
				<pubDate>Wed, 20 Dec 2023 00:00:00 +0000</pubDate>
				<guid>https://gustavopeiretti.com/solid-interface-segregation-principle/</guid>
				<description>&lt;p&gt;This principle about Interface segregation principle (ISP) says that any client should not be required to depend on methods they do not use.&lt;/p&gt;</description>
			</item>
			<item>
				<title>SOLID Liskov substitution principle</title>
				<link>https://gustavopeiretti.com/solid-liskov-substitution-principle/</link>
				<pubDate>Wed, 20 Dec 2023 00:00:00 +0000</pubDate>
				<guid>https://gustavopeiretti.com/solid-liskov-substitution-principle/</guid>
				<description>&lt;p&gt;The Liskov substitution principle (LSP) is an object-oriented design principle that states that a subclass&#xA;must be interchangeable with its superclass without changing the program&amp;rsquo;s behavior.&lt;/p&gt;</description>
			</item>
			<item>
				<title>SOLID Open/closed principle</title>
				<link>https://gustavopeiretti.com/solid-open-close-principle/</link>
				<pubDate>Wed, 20 Dec 2023 00:00:00 +0000</pubDate>
				<guid>https://gustavopeiretti.com/solid-open-close-principle/</guid>
				<description>&lt;p&gt;The open/closed principle (OCP) says that every class, module, method, etc. should be open for an extension but must be closed for modification.&lt;/p&gt;</description>
			</item>
			<item>
				<title>SOLID Single responsibility principle</title>
				<link>https://gustavopeiretti.com/solid-single-responsibility-principle/</link>
				<pubDate>Wed, 20 Dec 2023 00:00:00 +0000</pubDate>
				<guid>https://gustavopeiretti.com/solid-single-responsibility-principle/</guid>
				<description>&lt;p&gt;This principle refers to the unique responsibility that each program should have with a specific and limited task.&lt;/p&gt;</description>
			</item>
			<item>
				<title>Design patterns you should know</title>
				<link>https://gustavopeiretti.com/design-patterns-you-should-know/</link>
				<pubDate>Sun, 20 Aug 2023 00:00:00 +0000</pubDate>
				<guid>https://gustavopeiretti.com/design-patterns-you-should-know/</guid>
				<description></description>
			</item>
			<item>
				<title>Adapter Design Pattern</title>
				<link>https://gustavopeiretti.com/adapter-design-pattern/</link>
				<pubDate>Sat, 19 Aug 2023 00:00:00 +0000</pubDate>
				<guid>https://gustavopeiretti.com/adapter-design-pattern/</guid>
				<description>&lt;p&gt;The Adapter design pattern works when you have different or incompatible interfaces, and you need the client to use both in the same way.&lt;/p&gt;&#xA;&lt;p&gt;The Adapter design pattern says in its definition that it converts an interface or class into another interface that the client needs.&lt;/p&gt;</description>
			</item>
			<item>
				<title>Builder Design Pattern</title>
				<link>https://gustavopeiretti.com/build-design-pattern/</link>
				<pubDate>Sat, 19 Aug 2023 00:00:00 +0000</pubDate>
				<guid>https://gustavopeiretti.com/build-design-pattern/</guid>
				<description>&lt;p&gt;The Builder design pattern allows you to create objects that are usually complex using another object&#xA;that builds them step by step.&lt;/p&gt;</description>
			</item>
			<item>
				<title>Composite Design Pattern</title>
				<link>https://gustavopeiretti.com/composite-design-pattern/</link>
				<pubDate>Sat, 19 Aug 2023 00:00:00 +0000</pubDate>
				<guid>https://gustavopeiretti.com/composite-design-pattern/</guid>
				<description>&lt;p&gt;The Composite design pattern allows you to create objects from an interface by making them all similar and allowing them all to be treated in the same way.&lt;/p&gt;</description>
			</item>
			<item>
				<title>Decorator Design Pattern</title>
				<link>https://gustavopeiretti.com/decorator-design-pattern/</link>
				<pubDate>Sat, 19 Aug 2023 00:00:00 +0000</pubDate>
				<guid>https://gustavopeiretti.com/decorator-design-pattern/</guid>
				<description>&lt;p&gt;The Decorator pattern allows you to add new features to classes without modifying their structure.&lt;/p&gt;</description>
			</item>
			<item>
				<title>Facade Design Pattern</title>
				<link>https://gustavopeiretti.com/facade-design-pattern/</link>
				<pubDate>Sat, 19 Aug 2023 00:00:00 +0000</pubDate>
				<guid>https://gustavopeiretti.com/facade-design-pattern/</guid>
				<description>&lt;p&gt;The Facade design pattern simplifies the complexity of a system through a simpler interface.&lt;/p&gt;&#xA;&lt;p&gt;It improves access to our system by allowing other systems or subsystems to use a common access point that reduces complexity, minimizing interactions and dependencies.&lt;/p&gt;</description>
			</item>
			<item>
				<title>Factory Design Pattern</title>
				<link>https://gustavopeiretti.com/factory-design-pattern/</link>
				<pubDate>Sat, 19 Aug 2023 00:00:00 +0000</pubDate>
				<guid>https://gustavopeiretti.com/factory-design-pattern/</guid>
				<description>&lt;p&gt;The Factory design pattern is mainly used when we have a class or interface with many subclasses or implementations,&#xA;and according to some input, we need to return one of these specific subclasses.&lt;/p&gt;</description>
			</item>
			<item>
				<title>Observer Design Pattern</title>
				<link>https://gustavopeiretti.com/observer-design-pattern/</link>
				<pubDate>Sat, 19 Aug 2023 00:00:00 +0000</pubDate>
				<guid>https://gustavopeiretti.com/observer-design-pattern/</guid>
				<description>&lt;p&gt;The Observer’s design pattern is used primarily when we are interested in any change of status being notified to anyone who needs to know about that change.&lt;/p&gt;&#xA;&lt;p&gt;In the observer design pattern, the object that looks at the state of another object is called &amp;ldquo;Observer&amp;rdquo; and the object that is &amp;ldquo;looking&amp;rdquo; those changes is called &amp;ldquo;Subject&amp;rdquo;.&lt;/p&gt;</description>
			</item>
			<item>
				<title>Proxy Design Pattern</title>
				<link>https://gustavopeiretti.com/proxy-design-pattern/</link>
				<pubDate>Sat, 19 Aug 2023 00:00:00 +0000</pubDate>
				<guid>https://gustavopeiretti.com/proxy-design-pattern/</guid>
				<description>&lt;p&gt;The Proxy design pattern is simply an intermediary that is designed over a class to add some additional functionality, without modifying the original class.&lt;/p&gt;</description>
			</item>
			<item>
				<title>Singleton Design Pattern</title>
				<link>https://gustavopeiretti.com/singleton-design-pattern/</link>
				<pubDate>Sat, 19 Aug 2023 00:00:00 +0000</pubDate>
				<guid>https://gustavopeiretti.com/singleton-design-pattern/</guid>
				<description>&lt;p&gt;This is one of the best-known patterns and is perhaps the first that comes to mind when you ask us about design patterns in Java.&lt;/p&gt;&#xA;&lt;p&gt;The goal is to have only one instance of a class involved and ensure that this happens every time this instance is needed.&lt;/p&gt;</description>
			</item>
			<item>
				<title>Strategy Design Pattern</title>
				<link>https://gustavopeiretti.com/strategy-design-pattern/</link>
				<pubDate>Sat, 19 Aug 2023 00:00:00 +0000</pubDate>
				<guid>https://gustavopeiretti.com/strategy-design-pattern/</guid>
				<description>&lt;p&gt;The Strategy design pattern helps to define different behaviors or functionalities that can be changed at runtime.&lt;/p&gt;&#xA;&lt;p&gt;In the Strategy pattern, we create different classes that represent strategies and that we can use, according to some variation or input.&lt;/p&gt;</description>
			</item>
	</channel>
</rss>
