<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Richard Rhein</title>
    <description>The latest articles on DEV Community by Richard Rhein (@dontfixyourpc).</description>
    <link>https://dev.to/dontfixyourpc</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F550979%2Fbcba9f7f-cdbf-4dcf-b0db-5d49a3a4c9eb.png</url>
      <title>DEV Community: Richard Rhein</title>
      <link>https://dev.to/dontfixyourpc</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/dontfixyourpc"/>
    <language>en</language>
    <item>
      <title>Why should you use Linux?</title>
      <dc:creator>Richard Rhein</dc:creator>
      <pubDate>Tue, 07 Jun 2022 14:35:50 +0000</pubDate>
      <link>https://dev.to/dontfixyourpc/why-should-you-use-linux-246k</link>
      <guid>https://dev.to/dontfixyourpc/why-should-you-use-linux-246k</guid>
      <description>&lt;p&gt;Hey, how you are all doing? I hope fine and you probably sit in front of your machine while you sip some of your favourite beverage and might read this article and ask yourself "Why the hell should I use Linux?"&lt;/p&gt;

&lt;p&gt;Exactly, therefore I am going explain the reasons and benefits of using Linux.&lt;/p&gt;

&lt;h2&gt;
  
  
  What is Linux?
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;(You may skip, if you already know what Linux is.)&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Linux or GNU/Linux is an open source operating system, where Linus Torvalds wrote the first Kernel in the year 1991 under the GNU General Public License (GPL). &lt;br&gt;
After that it distributed into many "Linuxes" (Linux Distributions) till now.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;If you want to know more about the history -&amp;gt; &lt;a href="https://en.wikipedia.org/wiki/History_of_Linux" rel="noopener noreferrer"&gt;Linux History&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;




&lt;h2&gt;
  
  
  It is not that difficult!
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F64lm7a24x5kvbwk1wral.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F64lm7a24x5kvbwk1wral.jpg" alt="Meme of a tech guy" width="500" height="368"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;There are many rumors that Linux is very difficult and complicated for beginners, but it is partly true. Well, it really depends on the Linux distribution, for instance Gentoo Linux is very complicated and difficult to use and learn even for most experienced users, but distro's like Linux Mint or Ubuntu Linux are very beginner-friendly and the community support is great. &lt;/p&gt;

&lt;h2&gt;
  
  
  A complete operating system (almost) for free!
&lt;/h2&gt;

&lt;p&gt;Just imagine you don't need to pay for an OS.(I mean you can crack Microsoft Windows, but that's not the case and we are not "criminals") If you want to use Linux, you don't need to pay any money. I mean there are some monetized Linux distro's like RedHat Linux , but the usage is mostly for enterprise companies.&lt;/p&gt;

&lt;p&gt;You can choose any distro you want from &lt;a href="https://distrowatch.com/" rel="noopener noreferrer"&gt;Distrowatch&lt;/a&gt; and believe me there are a wide range of Linux distro's.&lt;/p&gt;

&lt;h2&gt;
  
  
  Free Alternative Software
&lt;/h2&gt;

&lt;p&gt;Every Linux distro possesses a big variety of free open source software.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F6zlj29meyyj4zln6wlmv.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F6zlj29meyyj4zln6wlmv.gif" alt="Software Manager" width="600" height="310"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;This is a software manager with all the free software that are available. This kind of a software manager is pretty common in many Linux distro's. This is an example from Linux Mint 20.3.&lt;/p&gt;

&lt;p&gt;For example, if you are in need of an office suite like Office 365 from Microsoft, you can use a free alternative to that. &lt;a href="https://www.libreoffice.org/discover/libreoffice/" rel="noopener noreferrer"&gt;Libre Office&lt;/a&gt; is a good alternative, it is free and easy to use.&lt;/p&gt;

&lt;h2&gt;
  
  
  Which possibilties do you have on Linux?
&lt;/h2&gt;

&lt;p&gt;Well, you can surf, play games, code etc. Apparently it is nothing special compared on Michaelsoft Bimbows or Apple MAC OS X. But why on Linux? It's not because it's cool, well actually it is, but ...&lt;/p&gt;

&lt;p&gt;Let me explain, you have an operating system, where you are the admin and only you can do whatever you want on your machine, it is only you and not another company etc.&lt;br&gt;
You can decide, how your Linux looks or operates with you. You can build your own system from scratch like on &lt;a href="https://www.linuxfromscratch.org/" rel="noopener noreferrer"&gt;Linux From Scratch&lt;/a&gt; or you can decide how it looks like. &lt;/p&gt;

&lt;h2&gt;
  
  
  Support for the olds
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F5e0oncrmaj4354u4gvjb.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F5e0oncrmaj4354u4gvjb.gif" alt="Laptop" width="800" height="450"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Linux is also known for supporting old computers, like old Thinkpads etc. and they work fine with Linux on it. You do not have the capacity of resources that you can run every videogame on those old junkers, but they are good to use casual stuff.&lt;/p&gt;

&lt;p&gt;There are some personal top 3 recommendations for your old computer:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Puppy Linux&lt;/li&gt;
&lt;li&gt;bodhi Linux&lt;/li&gt;
&lt;li&gt;SparkyLinux&lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;
  
  
  Where to start?
&lt;/h2&gt;

&lt;p&gt;Firstly, you need to know which Linux distro you want to use or try. There are a plenty of those in the world wide web. &lt;/p&gt;

&lt;p&gt;You can visit &lt;a href="https://distrowatch.com/" rel="noopener noreferrer"&gt;Distrowatch&lt;/a&gt;, get more informed about the variety of all Linux distro's.&lt;br&gt;
Trust me it is worth it.&lt;/p&gt;

&lt;p&gt;Secondly, you need to decide if you're going to only test a Linux distro for yourself or using it daily.&lt;br&gt;
If want to test it out, without any risk, you can use a virtual machine like &lt;a href="https://www.vmware.com/products/workstation-pro/workstation-pro-evaluation.html" rel="noopener noreferrer"&gt;VMWare&lt;/a&gt; or &lt;a href="https://www.virtualbox.org/" rel="noopener noreferrer"&gt;VirtualBox&lt;/a&gt;. But, if you want go full mode and use Linux as a daily, then I have some personal favorites to share.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Linux Mint&lt;/li&gt;
&lt;li&gt;Ubuntu Linux&lt;/li&gt;
&lt;li&gt;Manjaro Linux&lt;/li&gt;
&lt;li&gt;OpenSuse&lt;/li&gt;
&lt;li&gt;Arch Linux (who want to go complety nuts as beginner)&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Thanks for reading. If you have some questions about Linux you can ask right here. I wish you a good day and do not forget to follow for more. See ya...&lt;/p&gt;

</description>
      <category>linux</category>
      <category>opensource</category>
      <category>beginners</category>
    </item>
    <item>
      <title>Dependency Injection (DI) - Cleaner Code ?</title>
      <dc:creator>Richard Rhein</dc:creator>
      <pubDate>Tue, 25 Jan 2022 00:43:05 +0000</pubDate>
      <link>https://dev.to/dontfixyourpc/dependency-injection-di-cleaner-code--j7m</link>
      <guid>https://dev.to/dontfixyourpc/dependency-injection-di-cleaner-code--j7m</guid>
      <description>&lt;p&gt;What is DI?&lt;/p&gt;

&lt;p&gt;&lt;a href="//#an-example-..."&gt;An example...&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Types of DI&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Constructor Injection&lt;/li&gt;
&lt;li&gt;Property Injection&lt;/li&gt;
&lt;li&gt;Method Injection&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Conclusion&lt;/p&gt;




&lt;p&gt;In your life as a Software Developer, no matter if beginner or advanced, you need &lt;br&gt;
to learn new things to grow. This tutorial could even make you a better developer &lt;br&gt;
in terms of writing much cleaner code. Interested ? Okay, so let´s move on!&lt;/p&gt;

&lt;h2&gt;
  
  
  What is DI ?
&lt;/h2&gt;

&lt;p&gt;What the heck is Dependency Injection ? Do not worry, it´s not that complicated and you can use it in your projects, just right now. Especially in OOP (Object Oriented Programming).&lt;/p&gt;

&lt;p&gt;Dependency Injection or DI is a software design pattern, which provides IoC (Inversion of Control) in Objects. &lt;/p&gt;

&lt;h2&gt;
  
  
  An example ...
&lt;/h2&gt;

&lt;p&gt;Let´s assume, you did not completly understand, what Dependency Injection does, okay? &lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F93y8jx9lk5mk3796ap2t.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F93y8jx9lk5mk3796ap2t.png" alt="First example" width="800" height="563"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;We assume that the headchef commands another chef for e.g to cook, but this chef can only use a pan to cook something, but you can use other tools in the kitchen to create something tasty.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F9v2i8b0efjfljbv2fsdp.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F9v2i8b0efjfljbv2fsdp.png" alt="Second Example" width="800" height="239"&gt;&lt;/a&gt;&lt;br&gt;
However if we let the headchef command the chef to cook, but in this case he gives the chef a pan to cook, then it would not be problem, the chef just need the ability to cook with a tool that is predestined to create something eatible and tasty.&lt;/p&gt;

&lt;p&gt;This small example should give you an simple insight into dependency injection.&lt;/p&gt;

&lt;h2&gt;
  
  
  Types of DI
&lt;/h2&gt;

&lt;p&gt;In this part I am going to show some simple code snippets of the types of Dependecy Injection. (Java)&lt;/p&gt;

&lt;p&gt;Those snippets are simple examples without any further explanation.&lt;/p&gt;

&lt;h3&gt;
  
  
  Constructor Injection
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight java"&gt;&lt;code&gt;&lt;span class="kd"&gt;interface&lt;/span&gt; &lt;span class="nc"&gt;Tool&lt;/span&gt;&lt;span class="o"&gt;{&lt;/span&gt;
    &lt;span class="kt"&gt;void&lt;/span&gt; &lt;span class="nf"&gt;cook&lt;/span&gt;&lt;span class="o"&gt;();&lt;/span&gt;
&lt;span class="o"&gt;}&lt;/span&gt;

&lt;span class="kd"&gt;public&lt;/span&gt; &lt;span class="kd"&gt;class&lt;/span&gt; &lt;span class="nc"&gt;Pan&lt;/span&gt; &lt;span class="kd"&gt;implements&lt;/span&gt; &lt;span class="nc"&gt;Tool&lt;/span&gt;&lt;span class="o"&gt;{&lt;/span&gt;

    &lt;span class="kd"&gt;public&lt;/span&gt; &lt;span class="kt"&gt;void&lt;/span&gt; &lt;span class="nf"&gt;cook&lt;/span&gt;&lt;span class="o"&gt;(){&lt;/span&gt;
        &lt;span class="nc"&gt;System&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="na"&gt;out&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="na"&gt;println&lt;/span&gt;&lt;span class="o"&gt;(&lt;/span&gt;&lt;span class="s"&gt;"Cooking something great"&lt;/span&gt;&lt;span class="o"&gt;);&lt;/span&gt;
    &lt;span class="o"&gt;}&lt;/span&gt;
&lt;span class="o"&gt;}&lt;/span&gt;

&lt;span class="kd"&gt;public&lt;/span&gt; &lt;span class="kd"&gt;class&lt;/span&gt; &lt;span class="nc"&gt;Chef&lt;/span&gt; &lt;span class="o"&gt;{&lt;/span&gt;

    &lt;span class="kd"&gt;private&lt;/span&gt; &lt;span class="nc"&gt;Tool&lt;/span&gt; &lt;span class="n"&gt;tool&lt;/span&gt;&lt;span class="o"&gt;;&lt;/span&gt;

    &lt;span class="kd"&gt;public&lt;/span&gt; &lt;span class="nf"&gt;Chef&lt;/span&gt;&lt;span class="o"&gt;(&lt;/span&gt;&lt;span class="nc"&gt;Tool&lt;/span&gt; &lt;span class="n"&gt;tool&lt;/span&gt;&lt;span class="o"&gt;){&lt;/span&gt;
        &lt;span class="k"&gt;this&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="na"&gt;tool&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;tool&lt;/span&gt;&lt;span class="o"&gt;;&lt;/span&gt;
    &lt;span class="o"&gt;}&lt;/span&gt;

&lt;span class="o"&gt;}&lt;/span&gt;

&lt;span class="kd"&gt;public&lt;/span&gt; &lt;span class="kd"&gt;class&lt;/span&gt; &lt;span class="nc"&gt;Headchef&lt;/span&gt; &lt;span class="o"&gt;{&lt;/span&gt;

    &lt;span class="kd"&gt;private&lt;/span&gt; &lt;span class="nc"&gt;Tool&lt;/span&gt; &lt;span class="n"&gt;pan&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="k"&gt;new&lt;/span&gt; &lt;span class="nc"&gt;Pan&lt;/span&gt;&lt;span class="o"&gt;();&lt;/span&gt;
    &lt;span class="nc"&gt;Chef&lt;/span&gt; &lt;span class="n"&gt;chef&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="k"&gt;new&lt;/span&gt; &lt;span class="nc"&gt;Chef&lt;/span&gt;&lt;span class="o"&gt;(&lt;/span&gt;&lt;span class="n"&gt;pan&lt;/span&gt;&lt;span class="o"&gt;);&lt;/span&gt;

    &lt;span class="n"&gt;chef&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="na"&gt;cook&lt;/span&gt;&lt;span class="o"&gt;();&lt;/span&gt;
&lt;span class="o"&gt;}&lt;/span&gt;

&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  Property Injection
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight java"&gt;&lt;code&gt;&lt;span class="kd"&gt;interface&lt;/span&gt; &lt;span class="nc"&gt;Tool&lt;/span&gt;&lt;span class="o"&gt;{&lt;/span&gt;
    &lt;span class="kt"&gt;void&lt;/span&gt; &lt;span class="nf"&gt;cook&lt;/span&gt;&lt;span class="o"&gt;();&lt;/span&gt;
&lt;span class="o"&gt;}&lt;/span&gt;

&lt;span class="kd"&gt;public&lt;/span&gt; &lt;span class="kd"&gt;class&lt;/span&gt; &lt;span class="nc"&gt;Pan&lt;/span&gt; &lt;span class="kd"&gt;implements&lt;/span&gt; &lt;span class="nc"&gt;Tool&lt;/span&gt;&lt;span class="o"&gt;{&lt;/span&gt;

    &lt;span class="kd"&gt;public&lt;/span&gt; &lt;span class="kt"&gt;void&lt;/span&gt; &lt;span class="nf"&gt;cook&lt;/span&gt;&lt;span class="o"&gt;(){&lt;/span&gt;
        &lt;span class="nc"&gt;System&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="na"&gt;out&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="na"&gt;println&lt;/span&gt;&lt;span class="o"&gt;(&lt;/span&gt;&lt;span class="s"&gt;"Cooking something great"&lt;/span&gt;&lt;span class="o"&gt;);&lt;/span&gt;
    &lt;span class="o"&gt;}&lt;/span&gt;
&lt;span class="o"&gt;}&lt;/span&gt;

&lt;span class="kd"&gt;public&lt;/span&gt; &lt;span class="kd"&gt;class&lt;/span&gt; &lt;span class="nc"&gt;Chef&lt;/span&gt; &lt;span class="o"&gt;{&lt;/span&gt;

    &lt;span class="kd"&gt;private&lt;/span&gt; &lt;span class="nc"&gt;Tool&lt;/span&gt; &lt;span class="n"&gt;tool&lt;/span&gt;&lt;span class="o"&gt;;&lt;/span&gt;

    &lt;span class="kd"&gt;public&lt;/span&gt; &lt;span class="nf"&gt;Chef&lt;/span&gt;&lt;span class="o"&gt;(&lt;/span&gt;&lt;span class="nc"&gt;Tool&lt;/span&gt; &lt;span class="n"&gt;tool&lt;/span&gt;&lt;span class="o"&gt;){&lt;/span&gt;
        &lt;span class="k"&gt;this&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="na"&gt;tool&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;tool&lt;/span&gt;&lt;span class="o"&gt;;&lt;/span&gt;
    &lt;span class="o"&gt;}&lt;/span&gt;


&lt;span class="o"&gt;}&lt;/span&gt;

&lt;span class="kd"&gt;public&lt;/span&gt; &lt;span class="kd"&gt;class&lt;/span&gt; &lt;span class="nc"&gt;Headchef&lt;/span&gt; &lt;span class="o"&gt;{&lt;/span&gt;

    &lt;span class="kd"&gt;private&lt;/span&gt; &lt;span class="nc"&gt;Tool&lt;/span&gt; &lt;span class="n"&gt;tool&lt;/span&gt;&lt;span class="o"&gt;;&lt;/span&gt;

    &lt;span class="kd"&gt;public&lt;/span&gt; &lt;span class="n"&gt;tool&lt;/span&gt; &lt;span class="nf"&gt;setTool&lt;/span&gt;&lt;span class="o"&gt;(&lt;/span&gt;&lt;span class="nc"&gt;Tool&lt;/span&gt; &lt;span class="n"&gt;tool&lt;/span&gt;&lt;span class="o"&gt;){&lt;/span&gt;
        &lt;span class="n"&gt;tool&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;tool&lt;/span&gt;&lt;span class="o"&gt;;&lt;/span&gt;
        &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="n"&gt;tool&lt;/span&gt;&lt;span class="o"&gt;;&lt;/span&gt;
    &lt;span class="o"&gt;}&lt;/span&gt;

    &lt;span class="kd"&gt;public&lt;/span&gt; &lt;span class="nf"&gt;getTool&lt;/span&gt;&lt;span class="o"&gt;(){&lt;/span&gt;
        &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="n"&gt;tool&lt;/span&gt;&lt;span class="o"&gt;;&lt;/span&gt;
    &lt;span class="o"&gt;}&lt;/span&gt;


    &lt;span class="n"&gt;chef&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="na"&gt;cook&lt;/span&gt;&lt;span class="o"&gt;();&lt;/span&gt;
&lt;span class="o"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  Method Injection
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight java"&gt;&lt;code&gt;&lt;span class="kd"&gt;interface&lt;/span&gt; &lt;span class="nc"&gt;Tool&lt;/span&gt;&lt;span class="o"&gt;{&lt;/span&gt;
    &lt;span class="kt"&gt;void&lt;/span&gt; &lt;span class="nf"&gt;cook&lt;/span&gt;&lt;span class="o"&gt;();&lt;/span&gt;
&lt;span class="o"&gt;}&lt;/span&gt;

&lt;span class="kd"&gt;public&lt;/span&gt; &lt;span class="kd"&gt;class&lt;/span&gt; &lt;span class="nc"&gt;Pan&lt;/span&gt; &lt;span class="kd"&gt;implements&lt;/span&gt; &lt;span class="nc"&gt;Tool&lt;/span&gt;&lt;span class="o"&gt;{&lt;/span&gt;

    &lt;span class="kd"&gt;public&lt;/span&gt; &lt;span class="kt"&gt;void&lt;/span&gt; &lt;span class="nf"&gt;cook&lt;/span&gt;&lt;span class="o"&gt;(){&lt;/span&gt;
        &lt;span class="nc"&gt;System&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="na"&gt;out&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="na"&gt;println&lt;/span&gt;&lt;span class="o"&gt;(&lt;/span&gt;&lt;span class="s"&gt;"Cooking something great"&lt;/span&gt;&lt;span class="o"&gt;);&lt;/span&gt;
    &lt;span class="o"&gt;}&lt;/span&gt;
&lt;span class="o"&gt;}&lt;/span&gt;

&lt;span class="kd"&gt;public&lt;/span&gt; &lt;span class="kd"&gt;class&lt;/span&gt; &lt;span class="nc"&gt;Chef&lt;/span&gt; &lt;span class="o"&gt;{&lt;/span&gt;

    &lt;span class="kd"&gt;private&lt;/span&gt; &lt;span class="nc"&gt;Tool&lt;/span&gt; &lt;span class="n"&gt;tool&lt;/span&gt;&lt;span class="o"&gt;;&lt;/span&gt;

    &lt;span class="kd"&gt;public&lt;/span&gt; &lt;span class="nf"&gt;Chef&lt;/span&gt;&lt;span class="o"&gt;(&lt;/span&gt;&lt;span class="nc"&gt;Tool&lt;/span&gt; &lt;span class="n"&gt;tool&lt;/span&gt;&lt;span class="o"&gt;){&lt;/span&gt;
        &lt;span class="k"&gt;this&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="na"&gt;tool&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;tool&lt;/span&gt;&lt;span class="o"&gt;;&lt;/span&gt;
    &lt;span class="o"&gt;}&lt;/span&gt;


&lt;span class="o"&gt;}&lt;/span&gt;

&lt;span class="kd"&gt;public&lt;/span&gt; &lt;span class="kd"&gt;class&lt;/span&gt; &lt;span class="nc"&gt;Headchef&lt;/span&gt; &lt;span class="o"&gt;{&lt;/span&gt;

    &lt;span class="kd"&gt;private&lt;/span&gt; &lt;span class="nc"&gt;Tool&lt;/span&gt; &lt;span class="n"&gt;tool&lt;/span&gt;&lt;span class="o"&gt;;&lt;/span&gt;

    &lt;span class="kd"&gt;public&lt;/span&gt; &lt;span class="kt"&gt;void&lt;/span&gt; &lt;span class="nf"&gt;giveOrders&lt;/span&gt;&lt;span class="o"&gt;(&lt;/span&gt;&lt;span class="nc"&gt;Chef&lt;/span&gt; &lt;span class="n"&gt;chef&lt;/span&gt;&lt;span class="o"&gt;){&lt;/span&gt;
        &lt;span class="n"&gt;chef&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="na"&gt;cook&lt;/span&gt;&lt;span class="o"&gt;();&lt;/span&gt;
    &lt;span class="o"&gt;}&lt;/span&gt;
&lt;span class="o"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;






&lt;h2&gt;
  
  
  Conclusion
&lt;/h2&gt;

&lt;p&gt;There are pros and cons in this software design pattern in object oriented programming. Although it is been said, that it could make the code cleaner, but also not. The reason sits mostly in front of the computer, but never the less the complexity and the size of the programm matters too. So it is not a complete solution for cleaner code, although it could be (it depends on the developer). But it is definitely a good pattern to test and update the code with less complexity and problems.&lt;/p&gt;

&lt;p&gt;Feel free to ask questions :D&lt;/p&gt;

</description>
      <category>programming</category>
      <category>codenewbie</category>
      <category>java</category>
      <category>oop</category>
    </item>
  </channel>
</rss>
