<?xml version="1.0" encoding="UTF-8"?>
<!-- generator="FeedCreator 1.8" -->
<?xml-stylesheet href="http://www.principles-wiki.net/lib/exe/css.php?s=feed" type="text/css"?>
<rdf:RDF
    xmlns="http://purl.org/rss/1.0/"
    xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
    xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
    xmlns:dc="http://purl.org/dc/elements/1.1/">
    <channel rdf:about="http://www.principles-wiki.net/feed.php">
        <title>Principles Wiki - collections</title>
        <description></description>
        <link>http://www.principles-wiki.net/</link>
        <image rdf:resource="http://www.principles-wiki.net/_media/logo.png" />
       <dc:date>2026-04-14T14:12:15+00:00</dc:date>
        <items>
            <rdf:Seq>
                <rdf:li rdf:resource="http://www.principles-wiki.net/collections:gof_patterns?rev=1376990598&amp;do=diff"/>
                <rdf:li rdf:resource="http://www.principles-wiki.net/collections:grasp?rev=1634588486&amp;do=diff"/>
                <rdf:li rdf:resource="http://www.principles-wiki.net/collections:ood_principle_language?rev=1634587050&amp;do=diff"/>
                <rdf:li rdf:resource="http://www.principles-wiki.net/collections:patterns_for_arguments_and_results?rev=1634588434&amp;do=diff"/>
                <rdf:li rdf:resource="http://www.principles-wiki.net/collections:principles_in_object-oriented_software_construction?rev=1634588399&amp;do=diff"/>
                <rdf:li rdf:resource="http://www.principles-wiki.net/collections:principles_in_the_pragmatic_programmer?rev=1634588355&amp;do=diff"/>
                <rdf:li rdf:resource="http://www.principles-wiki.net/collections:robert_c._martin_s_principle_collection?rev=1634588325&amp;do=diff"/>
                <rdf:li rdf:resource="http://www.principles-wiki.net/collections:solid?rev=1634588261&amp;do=diff"/>
                <rdf:li rdf:resource="http://www.principles-wiki.net/collections:start?rev=1630597907&amp;do=diff"/>
                <rdf:li rdf:resource="http://www.principles-wiki.net/collections:unix_philosophy_eric_s._raymond?rev=1634588233&amp;do=diff"/>
            </rdf:Seq>
        </items>
    </channel>
    <image rdf:about="http://www.principles-wiki.net/_media/logo.png">
        <title>Principles Wiki</title>
        <link>http://www.principles-wiki.net/</link>
        <url>http://www.principles-wiki.net/_media/logo.png</url>
    </image>
    <item rdf:about="http://www.principles-wiki.net/collections:gof_patterns?rev=1376990598&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2013-08-20T09:23:18+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>GoF Patterns</title>
        <link>http://www.principles-wiki.net/collections:gof_patterns?rev=1376990598&amp;do=diff</link>
        <description>GoF Patterns

This is probably the best known collection of design patterns.

Creational Patterns:

	*  Abstract Factory
	*  Builder
	*  Factory Method
	*  Prototype
	*  Singleton

Structural Patterns:

	*  Adapter
	*  Bridge
	*  Composite
	*  Decorator
	*  Facade
	*  Flyweight
	*  Proxy

Behavioral Patterns:

	*  Chain of Responsibility
	*  Command
	*  Interpreter
	*  Iterator
	*  Mediator
	*  Memento
	*  Observer
	*  State
	*</description>
    </item>
    <item rdf:about="http://www.principles-wiki.net/collections:grasp?rev=1634588486&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2021-10-18T20:21:26+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>General Responsibility Assignment Software Patterns (GRASP)</title>
        <link>http://www.principles-wiki.net/collections:grasp?rev=1634588486&amp;do=diff</link>
        <description>General Responsibility Assignment Software Patterns (GRASP)

Craig Larman describes how to assign responsibilities to classes using the following principles and patterns:

	*  Controller
	*  Creator
	*  High Cohesion
	*  Indirection
	*  Information Expert
	*  Low Coupling
	*  Polymorphism
	*  Protected Variations
	*  Pure Fabrication

He calls GRASP “patterns of general principles in assigning responsibilities</description>
    </item>
    <item rdf:about="http://www.principles-wiki.net/collections:ood_principle_language?rev=1634587050&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2021-10-18T19:57:30+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>OOD Principle Language</title>
        <link>http://www.principles-wiki.net/collections:ood_principle_language?rev=1634587050&amp;do=diff</link>
        <description>OOD Principle Language

General Principles:

	*  Murphy&#039;s Law (ML)
	*  Keep It Simple Stupid (KISS)
	*  More Is More Complex (MIMC)
	*  Don&#039;t Repeat Yourself (DRY)
	*  Generalization Principle (GP)
	*  Rule of Explicitness (RoE)

Modularization Principles:

	*  Model Principle (MP)
	*  High Cohesion (HC)
	*  Encapsulate The Concept That Varies (ECV)

Module Communication Principles:

	*  Tell, don&#039;t Ask/Information Expert (TdA/IE)
	*  Low Coupling (LC)
	*  Dependency Inversion Principle (DIP)

I…</description>
    </item>
    <item rdf:about="http://www.principles-wiki.net/collections:patterns_for_arguments_and_results?rev=1634588434&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2021-10-18T20:20:34+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Patterns for Arguments and Results</title>
        <link>http://www.principles-wiki.net/collections:patterns_for_arguments_and_results?rev=1634588434&amp;do=diff</link>
        <description>Patterns for Arguments and Results

	*  Patterns for Arguments 
		*  Arguments Object   
		*  Selector Object   
		*  Curried Object

	*  Patterns for Results
		*  Result Object
		*  Future Object
		*  Lazy Object


Origin

James Noble: Arguments And Results

Further Reading

Box
   Patterns for Arguments and Results      Arguments    Arguments Object      Selector Object      Curried Object      Results    Result Object      Future Object      Lazy Object   
Discussion</description>
    </item>
    <item rdf:about="http://www.principles-wiki.net/collections:principles_in_object-oriented_software_construction?rev=1634588399&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2021-10-18T20:19:59+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Principles In &quot;Object-Oriented Software Construction&quot;</title>
        <link>http://www.principles-wiki.net/collections:principles_in_object-oriented_software_construction?rev=1634588399&amp;do=diff</link>
        <description>Principles In &quot;Object-Oriented Software Construction&quot;

Bertrand Meyer discusses several principles in his book Object-Oriented Software Construction (OOSC). Not all of them are principles in the sense discussed here in this wiki but of them are:

“Five Rules”

	*  Direct Mapping
	*  Few Interfaces
	*  Small Interfaces
	*  Explicit Interfaces
	*  Information Hiding

“Five Principles”</description>
    </item>
    <item rdf:about="http://www.principles-wiki.net/collections:principles_in_the_pragmatic_programmer?rev=1634588355&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2021-10-18T20:19:15+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Principles In &quot;The Pragmatic Programmer&quot;</title>
        <link>http://www.principles-wiki.net/collections:principles_in_the_pragmatic_programmer?rev=1634588355&amp;do=diff</link>
        <description>Principles In &quot;The Pragmatic Programmer&quot;

The Pragmatic Programmer lists 70 “tips”, some of which are principles as discussed in this wiki:

	*  Don&#039;t Repeat Yourself (tip 11)
	*  Make It Easy To Reuse (tip 12)
	*  Eliminate Effects Between Unrelated Things (tip 13)
	*  Program Close To The Problem Domain (tip 17)
	*  Keep Knowledge in Plain Text (tip 20)
	*  Write Code That Writes Code (tip 29)
	*  Crash Early (tip 32)
	*  Use Assertions to Prevent the Impossible (tip 33)
	*</description>
    </item>
    <item rdf:about="http://www.principles-wiki.net/collections:robert_c._martin_s_principle_collection?rev=1634588325&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2021-10-18T20:18:45+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Robert C. Martin&#039;s Principle Collection</title>
        <link>http://www.principles-wiki.net/collections:robert_c._martin_s_principle_collection?rev=1634588325&amp;do=diff</link>
        <description>Robert C. Martin&#039;s Principle Collection

Robert C. Martin collected ten principles dealing with object-oriented design. The first five of them---the so-called SOLID principles--- deal with the design of classes:

	*  Single Responsibility Principle (SRP)
	*  Open-Closed Principle (OCP)
	*  Liskov Substitution Principle (LSP)
	*  Interface Segregation Principle (ISP)</description>
    </item>
    <item rdf:about="http://www.principles-wiki.net/collections:solid?rev=1634588261&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2021-10-18T20:17:41+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>SOLID</title>
        <link>http://www.principles-wiki.net/collections:solid?rev=1634588261&amp;do=diff</link>
        <description>SOLID

Robert C. Martin created the SOLID principle collection where “SOLID” is an acronym for the following principles:

	*  Single Responsibility Principle (SRP)
	*  Open-Closed Principle (OCP)
	*  Liskov Substitution Principle (LSP)
	*  Interface Segregation Principle (ISP)
	*  Dependency Inversion Principle (DIP)

This is the subset of Martin&#039;s principles that deals with the design of classes. For the full list of principles he collected see</description>
    </item>
    <item rdf:about="http://www.principles-wiki.net/collections:start?rev=1630597907&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2021-09-02T15:51:47+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Principle Collections and Principle Languages</title>
        <link>http://www.principles-wiki.net/collections:start?rev=1630597907&amp;do=diff</link>
        <description>Principle Collections and Principle Languages



This namespace contains principle collections and principle languages:


	* General Responsibility Assignment Software Patterns (GRASP)
	* GoF Patterns
	* OOD Principle Language
	* Patterns for Arguments and Results
	* Principles In &quot;Object-Oriented Software Construction&quot;
	* Principles In &quot;The Pragmatic Programmer&quot;
	* Robert C. Martin&#039;s Principle Collection
	* SOLID
	* Unix Philosophy (Eric S. Raymond)</description>
    </item>
    <item rdf:about="http://www.principles-wiki.net/collections:unix_philosophy_eric_s._raymond?rev=1634588233&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2021-10-18T20:17:13+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Unix Philosophy (Eric S. Raymond)</title>
        <link>http://www.principles-wiki.net/collections:unix_philosophy_eric_s._raymond?rev=1634588233&amp;do=diff</link>
        <description>Unix Philosophy (Eric S. Raymond)

Eric S. Raymond collected the following list of principles in order to describe the unix philosophy. They belong to different . Some of them are about software design others about user interface design, others about the design of software development processes.</description>
    </item>
</rdf:RDF>
