<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
		<id>http://wiki.karljones.com/index.php?action=history&amp;feed=atom&amp;title=Dependency_inversion_principle</id>
		<title>Dependency inversion principle - Revision history</title>
		<link rel="self" type="application/atom+xml" href="http://wiki.karljones.com/index.php?action=history&amp;feed=atom&amp;title=Dependency_inversion_principle"/>
		<link rel="alternate" type="text/html" href="http://wiki.karljones.com/index.php?title=Dependency_inversion_principle&amp;action=history"/>
		<updated>2026-10-23T14:28:48Z</updated>
		<subtitle>Revision history for this page on the wiki</subtitle>
		<generator>MediaWiki 1.24.2</generator>

	<entry>
		<id>http://wiki.karljones.com/index.php?title=Dependency_inversion_principle&amp;diff=18573&amp;oldid=prev</id>
		<title>Karl Jones: Created page with &quot;In object-oriented programming, the '''dependency inversion principle''' refers to a specific form of decoupling software Modular pro...&quot;</title>
		<link rel="alternate" type="text/html" href="http://wiki.karljones.com/index.php?title=Dependency_inversion_principle&amp;diff=18573&amp;oldid=prev"/>
				<updated>2016-09-20T20:28:38Z</updated>
		
		<summary type="html">&lt;p&gt;Created page with &amp;quot;In &lt;a href=&quot;/index.php/Object-oriented_programming&quot; title=&quot;Object-oriented programming&quot;&gt;object-oriented programming&lt;/a&gt;, the &amp;#039;&amp;#039;&amp;#039;dependency inversion principle&amp;#039;&amp;#039;&amp;#039; refers to a specific form of &lt;a href=&quot;/index.php/Coupling_(computer_programming)&quot; title=&quot;Coupling (computer programming)&quot;&gt;decoupling&lt;/a&gt; software Modular pro...&amp;quot;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;In [[object-oriented programming]], the '''dependency inversion principle''' refers to a specific form of [[Coupling (computer programming)|decoupling]] software [[Modular programming|modules]].&lt;br /&gt;
&lt;br /&gt;
== Description ==&lt;br /&gt;
&lt;br /&gt;
When following this principle, the conventional dependency relationships established from high-level, policy-setting modules to low-level, dependency modules are reversed, thus rendering high-level modules independent of the low-level module implementation details. The principle states:&lt;br /&gt;
&lt;br /&gt;
* A. High-level modules should not depend on low-level modules. Both should depend on abstractions.&lt;br /&gt;
* B. Abstractions should not depend on details. Details should depend on [[Abstraction (software engineering)|abstractions]].&lt;br /&gt;
&lt;br /&gt;
The principle inverts the way some people may think about object-oriented design, dictating that both high- and low-level objects must depend on the same abstraction.&lt;br /&gt;
&lt;br /&gt;
== See also ==&lt;br /&gt;
&lt;br /&gt;
* [[Abstraction (software engineering)]]&lt;br /&gt;
* [[Adapter pattern]]&lt;br /&gt;
* [[Coupling (computer programming)]]&lt;br /&gt;
* [[Creational pattern]]&lt;br /&gt;
* [[Dependency Injection]]&lt;br /&gt;
* [[Design by contract]]&lt;br /&gt;
* [[Interface]]&lt;br /&gt;
* [[Inversion of Control]]&lt;br /&gt;
* [[Modular programming]]&lt;br /&gt;
* [[Object-oriented programming]]&lt;br /&gt;
* [[Plug-in (computing)]]&lt;br /&gt;
* [[Service locator pattern]]&lt;br /&gt;
* [[SOLID]] – the &amp;quot;D&amp;quot; in &amp;quot;SOLID&amp;quot; stands for the dependency inversion principle&lt;br /&gt;
&lt;br /&gt;
== External links ==&lt;br /&gt;
&lt;br /&gt;
* [https://en.wikipedia.org/wiki/Dependency_inversion_principle Dependency inversion principle] @ Wikipedia&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Computer programming]]&lt;/div&gt;</summary>
		<author><name>Karl Jones</name></author>	</entry>

	</feed>