<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	xmlns:creativeCommons="http://backend.userland.com/creativeCommonsRssModule"
>

<channel>
	<title>Design patterns | Psyops Prime</title>
	<atom:link href="https://psyopsprime.com/tag/design-patterns/feed/" rel="self" type="application/rss+xml" />
	<link>https://psyopsprime.com</link>
	<description>An Idea Log</description>
	<lastBuildDate>Tue, 14 Feb 2017 13:50:11 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.9.4</generator>
	<creativeCommons:license>https://creativecommons.org/licenses/by-nc-nd/4.0/</creativeCommons:license>
<site xmlns="com-wordpress:feed-additions:1">99640787</site>	<item>
		<title>Manipulating Software Through Design Patterns</title>
		<link>https://psyopsprime.com/science/manipulating-software-through-design-patterns/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=manipulating-software-through-design-patterns</link>
					<comments>https://psyopsprime.com/science/manipulating-software-through-design-patterns/#respond</comments>
		
		<dc:creator><![CDATA[admin]]></dc:creator>
		<pubDate>Fri, 03 Feb 2017 06:13:40 +0000</pubDate>
				<category><![CDATA[Science]]></category>
		<category><![CDATA[Technology]]></category>
		<category><![CDATA[Design patterns]]></category>
		<category><![CDATA[software engineering]]></category>
		<guid isPermaLink="false">http://psyopsprime.com/?p=1426</guid>

					<description><![CDATA[<p>Basically, design patterns are templates that you apply to your software during the design time. When you convert your software to code, finally, design patterns convert into patches and wrappers to your software. Normally they hide behind themselves the intricate details of objects they are applied to. As a result, they provide an easy to use interface to the developer. The developer, in turn, can use them to grab the desired objects.</p>
The post <a href="https://psyopsprime.com/science/manipulating-software-through-design-patterns/">Manipulating Software Through Design Patterns</a> first appeared on <a href="https://psyopsprime.com">Psyops Prime</a>.]]></description>
										<content:encoded><![CDATA[<p style="text-align: justify;">I wrote about design patterns a few days back. There are endless benefits of applying design patterns to your software that are reported in the literature. When you appropriately apply design patterns to your software, it becomes easy for other software engineers to use it provided they have some awareness of them.</p>
<p style="text-align: justify;">I am going to reflect on one less obvious but extremely useful benefit of patterns. It may happen often in your career as a software developer or a software engineer that you may be enticed to use an already developed piece of software for your project. You might be required to develop something specific and you may find that parts of what you want to develop can be addressed by using open source software that is available online. This can be a great help for you as you may not have to rewrite the code.</p>
<p style="text-align: justify;">A good example that comes to my mind is that you want to develop an ecosystem simulation toolkit. Instead of developing everything from scratch, you may find a certain library online that provides good simulation of a certain family of animals. Or you may find online a nice library or framework that simulates the environment in a realistic manner. Depending upon the quality of software, you may definitely be compelled to use it.</p>
<p style="text-align: justify;">But as soon as you download it and dive into its code you may be overwhelmed by its code. It may begin to sound like a labyrinth of objects and classes scattered all over the files. This may leave you clueless as to how to actually get a handle to it and finally use it.</p>
<p style="text-align: justify;">Normally all good software comes with its associated design document. You may have access to the class and uml diagrams and a user&#8217;s manual. This can come in handy for you to be able to use the software. Normally all good software has design pa</p>
<p style="text-align: justify;">Normally all good software also has design patterns applied to it as well. If you have the basic knowledge of how design patterns work, their basic functionality, and what purpose different patterns serves, you may find it very easy and convenient to manipulate your desired software.</p>
<p style="text-align: justify;">Basically, design patterns are templates that you apply to your software during the design time. When you convert your software to code, finally, design patterns convert into patches and wrappers to your software. Normally they hide behind themselves the intricate details of objects they are applied to. As a result, they provide an easy to use interface to the developer. The developer, in turn, can use them to grab the desired objects.</p>
<p style="text-align: justify;">Reusing already developed code cannot only be enticing, it can be very useful. There is loads of software that is present online that you can use to your advantage. But the most daunting aspect of the code that has been developed by someone else is to develop an understanding of it. Every developer can have his/her own peculiar style of coding. This can make it difficult for others to comprehend the code. If design patterns have been applied effectively, and if you have a decent knowledge of them and the so-called pattern language, it may become very easy for you to manipulate it. In turn, you may become a valuable software engineer.</p>
<p style="text-align: justify;">Consider now the possible benefits you could have as a software engineer depending upon your knowledge of patterns and your coding skills.</p>
<ol>
<li style="text-align: justify;">No knowledge of patterns and bad coding skills: With bad coding skills and no knowledge of patterns, your life as a software developer will be quite difficult. You may have to struggle a lot and even get fired from your position if you do not enhance your skills.</li>
<li style="text-align: justify;">Some knowledge of patterns and ordinary coding skills: Even with a little knowledge of patterns and ordinary coding skills, you will be able to manipulate off the shelf code really easily. I have argued about it above.</li>
<li style="text-align: justify;">Good coding skills and no knowledge of patterns: If you have good coding skills but no knowledge of patterns, you will again have to struggle when manipulating off the shelf code. You would be clueless as to what patterns have been applied to which part of the code.</li>
<li style="text-align: justify;">Decent knowledge of patterns and good coding skills: This is the ideal combination of skill levels to have. And the reasons are quite self-explanatory.</li>
</ol>
<p><small><a style="text-decoration: none;" title="Image inserted by the ImageInject WordPress plugin" href="http://wpinject.com/" rel="nofollow">Photo</a> by <a href="http://www.flickr.com/photos/9751325@N02/6337307460" target="_blank">kudumomo</a> <a title="Attribution License" href="http://creativecommons.org/licenses/by/2.0/" target="_blank" rel="nofollow"><img data-recalc-dims="1" decoding="async" src="https://i0.wp.com/psyopsprime.com/wp-content/plugins/wp-inject/images/cc.png?w=750" /></a></small></p>The post <a href="https://psyopsprime.com/science/manipulating-software-through-design-patterns/">Manipulating Software Through Design Patterns</a> first appeared on <a href="https://psyopsprime.com">Psyops Prime</a>.]]></content:encoded>
					
					<wfw:commentRss>https://psyopsprime.com/science/manipulating-software-through-design-patterns/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
				<creativeCommons:license>https://creativecommons.org/licenses/by-nc-nd/4.0/</creativeCommons:license>
<post-id xmlns="com-wordpress:feed-additions:1">1426</post-id>	</item>
		<item>
		<title>Design Patterns</title>
		<link>https://psyopsprime.com/reviews/design-patterns/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=design-patterns</link>
					<comments>https://psyopsprime.com/reviews/design-patterns/#comments</comments>
		
		<dc:creator><![CDATA[admin]]></dc:creator>
		<pubDate>Thu, 26 Jan 2017 12:14:07 +0000</pubDate>
				<category><![CDATA[Reviews]]></category>
		<category><![CDATA[Science]]></category>
		<category><![CDATA[Technology]]></category>
		<category><![CDATA[Design patterns]]></category>
		<category><![CDATA[software development]]></category>
		<guid isPermaLink="false">http://psyopsprime.com/?p=1389</guid>

					<description><![CDATA[<p>I was taught about design patterns a long time ago. In all fairness, I could not appreciate them at them. For one thing, I was</p>
The post <a href="https://psyopsprime.com/reviews/design-patterns/">Design Patterns</a> first appeared on <a href="https://psyopsprime.com">Psyops Prime</a>.]]></description>
										<content:encoded><![CDATA[<p style="text-align: justify;">I was taught about design patterns a long time ago. In all fairness, I could not appreciate them at them. For one thing, I was overwhelmed with a lot of other stuff. At the same time, I found the ideas of design patterns overwhelming. I am trying to comprehend them again.</p>
<p style="text-align: justify;">In this article, I have tried to gather online resources that address some questions about design patterns that I consider fundamental. I believe that contemplating on these questions, and knowing their answers would help you become a better software engineer. These questions are as follows:</p>
<ol>
<li style="text-align: justify;">What are design patterns?</li>
<li style="text-align: justify;">Why do we need them in software development?</li>
<li style="text-align: justify;">How do we figure out that our software would benefit substantially if we apply certain design patterns to it?</li>
<li style="text-align: justify;">How do we eventually apply design patterns to our software?</li>
<li style="text-align: justify;">How to implement design patterns?</li>
<li style="text-align: justify;">Are there any development frameworks that would automatically figure out our software&#8217;s need for certain design patterns, and would they apply them all by themselves? I am talking about IDEs in particular here.</li>
</ol>
<p><strong>What are design patterns?</strong></p>
<p style="text-align: justify;">The answer to this question is quite simple, as we are told in a myriad of textbooks and online resources. I am just going to reiterate my own understanding of the term here.</p>
<p style="text-align: justify;">Many similar types of problems keep on re-occurring in various software designs. Sometimes such problems require similar solutions. In order to save the designer time and effort in solving such design issues, software engineers have devised a bunch of design patterns that can be applied to them.</p>
<p style="text-align: justify;">A design pattern is simply a template that can be applied as a solution repeatedly to similar kind of problems occurring in designs of software. That&#8217;s it! And this is pretty simple.</p>
<p style="text-align: justify;"><strong>Why do we need them in software development?</strong></p>
<p style="text-align: justify;">Certain problems re-occur in most of the software. By applying well-known design patterns we can make our code a lot more manageable. Design patterns allow you to design your software in a better way that is also understandable by seasoned software engineers.</p>
<blockquote class="embedly-card" data-card-controls="1" data-card-align="center" data-card-theme="light" data-card-key="a8a0731b061246639032e063d551fbc2">
<h4><a href="https://code.tutsplus.com/articles/a-beginners-guide-to-design-patterns--net-12752">A Beginner&#8217;s Guide to Design Patterns | Envato Tuts+</a></h4>
<p>Ever wondered what design patterns are? In this article, I&#8217;ll explain why design patterns are important, and will provide some examples, in PHP, of when and why they should be used. What are&#8230;</p>
</blockquote>
<p><script async src="//cdn.embedly.com/widgets/platform.js" charset="UTF-8"></script></p>
<p><strong>How do we figure out that our software would benefit substantially if we apply certain design patterns to it?</strong></p>
<p>Figuring this out would need familiarity with well-known design patterns. You can then inspect the design of your software and assay what design patterns would be suitable for which parts of the former.</p>
<p><strong>How do we eventually apply design patterns to our software?</strong></p>
<p style="text-align: justify;">Reiterated, this would require you to develop a profound understanding of the power and purpose of well-known design patterns. You need to know what some well-known design patterns are capable of. You will also need to learn how to implement them. Once you have understood the purpose of various design patterns, coding them can be trivial. Moreover, design patterns are language independent. Eventually, you can apply them to your software.</p>
<p style="text-align: justify;"><strong>How to implement design patterns?</strong></p>
<p style="text-align: justify;">As I wrote earlier, implementing design pattern is simpler. You have to understand what various well-known design patterns can accomplish for you. Once you have done that, it is a trivial matter to implement them. This series of tutorials on tutorials point is good for understanding certain design patterns and how to implement them.</p>
<blockquote class="embedly-card" data-card-controls="1" data-card-align="center" data-card-theme="light" data-card-key="a8a0731b061246639032e063d551fbc2">
<h4><a href="https://www.tutorialspoint.com/design_pattern/design_pattern_overview.htm">Design Pattern &#8211; Overview</a></h4>
<p>Design Pattern Overview &#8211; Design patterns represent the best practices used by experienced object-oriented software developers. Design patterns are solutions to general problems that software developers faced during software development. These solutions were obtained by trial and error by numerous software developers over qu</p>
</blockquote>
<p><script async src="//cdn.embedly.com/widgets/platform.js" charset="UTF-8"></script></p>
<p>These lecture slides about design patterns are really good.</p>
<p><iframe title="Design Patterns" src="https://www.slideshare.net/slideshow/embed_code/key/jRPQfDosKHXVcv" width="427" height="356" frameborder="0" marginwidth="0" marginheight="0" scrolling="no" style="border:1px solid #CCC; border-width:1px; margin-bottom:5px; max-width: 100%;" allowfullscreen> </iframe></p>
<p><small><a style="text-decoration: none;" title="Image inserted by the ImageInject WordPress plugin" href="http://wpinject.com/" rel="nofollow">Photo</a> by <a href="http://www.flickr.com/photos/7320006@N06/2863426555" target="_blank">Mikeachim</a> <a title="Attribution License" href="http://creativecommons.org/licenses/by/2.0/" target="_blank" rel="nofollow"><img data-recalc-dims="1" decoding="async" src="https://i0.wp.com/psyopsprime.com/wp-content/plugins/wp-inject/images/cc.png?w=750" /></a></small></p>The post <a href="https://psyopsprime.com/reviews/design-patterns/">Design Patterns</a> first appeared on <a href="https://psyopsprime.com">Psyops Prime</a>.]]></content:encoded>
					
					<wfw:commentRss>https://psyopsprime.com/reviews/design-patterns/feed/</wfw:commentRss>
			<slash:comments>1</slash:comments>
		
		
				<creativeCommons:license>https://creativecommons.org/licenses/by-nc-nd/4.0/</creativeCommons:license>
<post-id xmlns="com-wordpress:feed-additions:1">1389</post-id>	</item>
	</channel>
</rss>
