start
Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
start [2013-01-15 12:07] – merged sections on wiki and glossary christian | start [2018-06-24 10:59] (current) – design cards christian | ||
---|---|---|---|
Line 1: | Line 1: | ||
====== Principles Wiki ====== | ====== Principles Wiki ====== | ||
+ | |||
+ | ===== About this Wiki ===== | ||
+ | |||
+ | This wiki is a place to collect, examine, and discuss software design knowledge in a systematic way. Currently there is a strong focus on (object-oriented) design principles ([[collections: | ||
+ | |||
===== Principles and Principle Languages ===== | ===== Principles and Principle Languages ===== | ||
- | The purpose of this wiki is to collect software development principles. | + | Just like common solution schemes to recurring problems are documented using [[glossary:patterns]], common assessment rules telling good solutions from bad ones can be described using [[glossary:principles]]. So principles are another form of experience reuse. There are dozens and maybe hundreds of such principles, some of which are examined |
+ | |||
+ | [[collections: | ||
- | The following pages describe the idea in more detail: | + | [[glossary:Principle languages]] similarly to [[glossary:pattern languages]] interconnect principles such that the consideration of one principle inevitably leads to other principles which are likely to be relevant |
- | * [[about:Principles]] | + | |
- | * [[about:Principle Languages]] | + | |
- | * [[about: | + | |
- | * [[about: | + | |
- | * [[about:Describing Principles]] | + | |
+ | ([[about: | ||
- | ===== Principles | + | ===== Design Cards ===== |
- | This wiki is about [[glossary:principles]]. You may have a look at the [[principles: | + | [[https://www.kickstarter.com/ |
- | * [[principles: | + | |
- | * [[principles: | + | |
- | * [[principles: | + | |
- | * [[principles: | + | |
- | * [[principles: | + | |
- | * [[principles: | + | |
- | * [[principles: | + | |
- | * [[principles: | + | |
- | * [[principles:|...]] | + | |
+ | We are currently creating playing cards with principles. While the wiki is best for looking up principles, cards are ideal for learning them. Furthermore the cards can be used during discussions about software design. The key rule is that you can only play one card at a time. As a result you have to think about the most convincing argument to play out first. So the quality of the argument counts and not the quantity. | ||
- | ===== Principle Collections and Principle Languages ===== | + | Have a look at our [[https:// |
- | Several related principles are grouped into [[glossary: | + | ===== Principles and Design Types ===== |
- | * [[collections: | + | |
- | * [[collections:SOLID]], [[collections: | + | [[http:// |
+ | The validity a a certain principles is rarely disputed. But that different developers put different weight on them. Almost no-one would claim that [[principles: | ||
- | ===== Contexts ===== | + | It turns out that developers can be characterized by which principles they favor when making design decisions. Understanding these different attitudes helps in communicating about design. |
- | Each principle belongs to one or more [[contexts:]]: | + | [[http:// |
- | * [[contexts: | ||
+ | ===== Start ===== | ||
- | ===== About the Wiki itself ===== | + | Start exploring |
- | This [[wiki: | + | [[wiki:contribute|Contributions]] to the wiki are welcome. Registration is not required |
- | Some terms shall be used consistently throughout the wiki. The [[glossary: |
start.1358248068.txt.gz · Last modified: 2013-05-19 22:05 (external edit)