User:Gvisoc/Books/Software Design Patterns

Wikipedia Excerpt

 * Software design pattern


 * Creational Patterns
 * Abstract factory pattern
 * Builder pattern
 * Factory method pattern
 * Lazy initialization
 * Multiton pattern
 * Object pool pattern
 * Prototype pattern
 * Resource Acquisition Is Initialization
 * Singleton pattern


 * Structural Patterns
 * Adapter pattern
 * Bridge pattern
 * Composite pattern
 * Decorator pattern
 * Facade pattern
 * Flyweight pattern
 * Front Controller pattern
 * Module pattern
 * Proxy pattern


 * Behavioral Patterns
 * Chain-of-responsibility pattern
 * Command pattern
 * Interpreter pattern
 * Iterator pattern
 * Mediator pattern
 * Memento pattern
 * Null Object pattern
 * Observer pattern
 * Publish–subscribe pattern
 * Servant (design pattern)
 * Specification pattern
 * State pattern
 * Strategy pattern
 * Template method pattern
 * Visitor pattern


 * Concurrency Patterns
 * Active object
 * Balking pattern
 * Double-checked locking
 * Asynchronous method invocation
 * Guarded suspension
 * Join-pattern
 * Lock (computer science)
 * Messaging pattern
 * Monitor (synchronization)
 * Reactor pattern
 * Readers–writer lock
 * Scheduler pattern
 * Thread pool pattern
 * Thread-local storage


 * References, glossary, background and further reference
 * Abstraction principle (computer programming)
 * Aggregate pattern
 * Algorithmic skeleton
 * Anti-pattern
 * Behavioral pattern
 * Business logic
 * Code refactoring
 * Cohesion (computer science)
 * Connection pool
 * Consultation (object-oriented programming)
 * Coupling (computer programming)
 * Creational pattern
 * Delegation (programming)
 * Dependency injection
 * Distributed design patterns
 * Double-chance function
 * Enterprise architecture framework
 * Functional programming
 * GRASP (object-oriented design)
 * Inheritance (object-oriented programming)
 * Interaction design pattern
 * Interface (computing)
 * List of software development philosophies
 * Loose coupling
 * Mutual exclusion
 * Object composition
 * Object-oriented programming
 * Outline of software engineering
 * Pattern language
 * Pattern theory
 * Pedagogical patterns
 * Polymorphism (computer science)
 * Pool (computer science)
 * Portland Pattern Repository
 * Scheduling (computing)
 * Structural pattern
 * Undo
 * Software development methodology