SearchWiki
Heuristics.RecentChanges
Edit Page
Page Revisions
Home
Design Patterns
Heuristics
Software Development
Software Process


Patterns
TheIntroduction LogicalDesign PhysicalDesign PatternFoundations GuidelinesAndMyths ReferenceImplementation DependencyPatterns UsabilityPatterns ExtensibilityPatterns MaintenancePatterns AntiPatterns UtilitiesAndTools

AllPatterns

  • Introduction
  • Relationships
    • Inheritance
      • Implementation
      • Interface
    • Composition
  • Managing Dependencies
    • Plugins
    • Dependency Inversion (Depending on abstract classes, not concrete classes. Obtaining a reference to the appropriate instance.)
    • InjectionVsLookup
    • Testability. As you reduce the dependency structure of your classes, your system's testability increases significantly. It's must easier to test with mock objects when using injection.
  • Wiring things together
    • Factories (Creation using new vs. creation using reflection).
    • Lightweight Containers
  • Abilities of Logical Design
  • Maintainability*
    • Extensibility

  • Logical Design Viewpoint
    • Development time relationships
  • Fundamental Logical Design Concepts
    • Abstraction
    • Cohesion
    • Coupling
    • Encapsulation
    • Modularity
    • Hierachy
    • Polymorphism
    • Granularity
  • Legacy Paradigms
  • Behavior and Data
  • Hierachies (Inheritance and Composition)
  • Typing (Static vs. Dynamic)
  • Run-time vs. Design-time structure

Edit Page - Page Revisions - WikiHelp - SearchWiki - RecentChanges
Page last modified on June 16, 2004, at 03:52 PM